Pages

2017/01/23

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
Related Posts Plugin for WordPress, Blogger...