次のことを試すと:
const int x = 1000;
byte b1 = (byte)x;
//Or
byte b2 = (byte)1000;
コンパイラは、定数 1000 を b1 または b2 に変換しなかったと主張しています。
しかし、私が次のことを試したとき:
const int x = 1000;
byte b1 = unchecked((byte)x);
//Or
byte b2 = unchecked((byte)1000);
このコードは正常に機能しました。なぜですか?