7

C および C++ では、数値の末尾に「l」を付けることで、数値が「long」であることをコンパイラーに伝えることができます。例: long x = 0l;

数値がバイトであることを C# コンパイラに伝えるにはどうすればよいですか?

4

5 に答える 5

9
byte b = (byte) 123; 

それでも

byte b = 123;

同じことをします。変数がある場合:

int a = 42;
byte b = (byte) a;
于 2008-09-30T14:24:33.287 に答える
8

C# 言語仕様によると、バイト リテラルを指定する方法はありません。バイトを取得するには、バイトにキャストする必要があります。あなたの最善の策は、おそらく次のように 16 進数で指定してキャストダウンすることです。

byte b = (byte) 0x10;
于 2008-09-30T14:29:44.130 に答える
3

その場合は、次のことを覚えておいてください。

byte b = (byte)300;

期待どおりに動作しません。

于 2008-09-30T14:26:02.017 に答える
1

MSDN は暗黙的な変換を使用します。バイト型のサフィックスは見当たりませんが、明示的なキャストを使用できます。2 桁の 16 進整数 (int) 定数を使用するだけです。

于 2008-09-30T14:29:10.810 に答える
1

コンパイラに伝える必要はありません。任意の有効な値を byte 変数に割り当てることができ、コンパイラーはそれで問題ありません。byte のサフィックスはありません。

オブジェクトにバイトを格納する場合は、次のようにキャストする必要があります。

object someValue = (byte) 123;
于 2008-09-30T14:29:18.297 に答える