質問
CおよびC ++では、数字の末尾に「l」を付けることで、数字が「長い」ことをコンパイラーに伝えることができます。 例:long x = 0l;
C#コンパイラに数値がバイトであることを伝えるにはどうすればよいですか
解決
C#言語仕様によるとバイトリテラルを指定する方法はありません。バイトを取得するには、バイトにキャストダウンする必要があります。最善の策は、おそらく次のように16進数で指定してキャストダウンすることです。
byte b = (byte) 0x10;
他のヒント
byte b = (byte) 123;
にもかかわらず
byte b = 123;
同じことをします。変数がある場合:
int a = 42;
byte b = (byte) a;
覚えておいてください:
byte b = (byte)300;
期待どおりに動作しません。
MSDNは暗黙的な変換を使用します。 バイトタイプサフィックスが表示されない、ただし、明示的なキャストを使用する場合があります。 2桁の16進整数(int)定数を使用します。
コンパイラに伝える必要はありません。任意の有効な値をバイト変数に割り当てることができ、コンパイラーはそれで問題ありません。バイトの接尾辞はありません。
オブジェクトにバイトを格納する場合は、キャストする必要があります:
object someValue = (byte) 123;
所属していません StackOverflow