在C和C ++中,您可以通过在数字的末尾加上“l”来告诉编译器数字是“long”。 例如,长x = 0l;
如何告诉C#编译器一个数字是一个字节?
答案 0 :(得分:9)
byte b = (byte) 123;
即使
byte b = 123;
做同样的事情。如果你有一个变量:
int a = 42;
byte b = (byte) a;
答案 1 :(得分:9)
根据C# language specification,无法指定字节文字。您必须转换为字节才能获得一个字节。你最好的选择可能是用十六进制指定并抛弃,如下所示:
byte b = (byte) 0x10;
答案 2 :(得分:4)
请记住,如果你这样做:
byte b = (byte)300;
它不会像你期望的那样工作。
答案 3 :(得分:1)
MSDN使用implicit conversion。我没有看到byte type suffix,但您可能会使用显式转换。我只使用一个2位十六进制整数(int)常量。
答案 4 :(得分:1)
无需告诉编译器。您可以将任何有效值分配给字节变量,编译器就可以了:没有字节后缀。
如果要在对象中存储一个字节,则必须进行转换:
object someValue = (byte) 123;