C#のbyteをintに変換する

C#のbyteをintに変換する
C#の byte って、妙な動きをしますよね。

C#におけるbyteの足し算

// 代入した時点で、暗黙的に int から byte へ変換されている。 
byte b = 1; 
byte c = 10; 
 
// 演算は int で行われるため、明示的に型変換を行う必要がある。 
byte sum = (byte)(b + c); 
byte は 255 までしか入りません。
なので、以下のようには書けません。コンパイルエラーとなります。
byte b = 258; 
面白いのがこれ。
byte b = 255; 
byte c = 255; 
 
// 254 
byte sum = (byte)(b + c); 
実行時にエラーにもならず、なぜか 254 が返ってきます。
byteを計算するとかあまりないケースですが、扱う際にはちょっと注意が必要です。

byte (C# リファレンス)
https://msdn.microsoft.com/ja-jp/library/5bdb6693.aspx

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する