0

このようにbool変数を初期化しました

 bool isActionAt= true;

しかし、アクセスしようとすると、別のエラーが発生しました。

引数の型 'bool' は、パラメーターの型 'int' への代入ではありません

私が与えるときbool isActionAt= "1";

その後、このエラーが発生しました

ソース タイプ string をターゲット タイプ bool に変換できません

4

2 に答える 2

4

として使用しようとしている方法を示していませんintが、これは明らかに間違っています:

bool isActionAt = "1";

変数はまたはboolの値のみを持つことができます。"1" はこれらの値の 1 つではなく、文字列から への暗黙的な変換はありません。truefalsebool

さまざまな型のデータを暗黙的に変換する、非常に動的に型付けされた言語に慣れているかもしれません。C# はそれを敬遠する傾向があります。情報を失わない変換が利用できる場合、多くの場合、暗黙的な変換があります。

short x = 10;
int y = x;

(一部の浮動小数点変換では情報が失われる可能性がありますが...)

情報が失われる可能性がある場合は、通常、明示的な変換を使用する必要があります。

int x = 100;
short y = (short) x; // short has a smaller range than int

ただしstring、言語内で使用できる変換boolはありませんしたがって、どの文字列値を true と見なし、どの文字列値を false と見なすかを指定して、独自の変換を作成する必要があります。

達成しようとしているコードではなく、何を達成しようとしているのかを説明していただければ、私たちがお手伝いできるかもしれません。現時点でわかっているのは、あなたのコードが無効であるということだけです。

于 2012-08-21T06:07:57.340 に答える
0

int 変数の値を boolean に代入したい場合は、変数の値が '1' の場合は bool を 'true' にするか、そうでない場合は false にするという条件を指定できます。

整数をブール値にキャストすることもできます。それもあなたがやろうとしていたことと同じように機能することを思い出しているようです。

于 2012-08-21T06:22:11.200 に答える