7

在 C 和 C++ 中,您可以通过在数字末尾添加“l”来告诉编译器数字是“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# 语言规范,无法指定字节文字。您必须转换为字节才能获得一个字节。您最好的选择可能是用十六进制指定并向下转换,如下所示:

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

请记住,如果您这样做:

byte b = (byte)300;

它不会按您期望的方式工作。

于 2008-09-30T14:26:02.017 回答
1

MSDN 使用隐式转换。我没有看到byte type suffix,但您可能会使用显式强制转换。我只使用 2 位十六进制整数 (int) 常量。

于 2008-09-30T14:29:10.810 回答
1

无需告诉编译器。您可以为 byte 变量分配任何有效值,编译器就可以使用它:byte 没有后缀。

如果要在对象中存储一个字节,则必须强制转换:

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