2

私は今日型キャストをいじっていて、面白いものに出くわしました。C# コンパイラは、ブール データ型にキャストし0たり、キャストしたりできません。1例えば:

bool b = (bool)0;

false を返します (コンパイルできた場合)。

ここで情報が失われることはないようです。私の質問は、C# コンパイラでこれができない特定の理由があるのでしょうか?

4

1 に答える 1

6

キャストを機能させるには、1 と 0 だけでなく、すべてを にキャストできる必要があるためです intboolC や C++ など、許可されている言語でこの許可が考慮されるエラーの数。

于 2013-10-01T01:03:22.533 に答える