C# 为什么将整型文字指定给字节变量是合法的?
将C# 为什么将整型文字指定给字节变量是合法的?,c#,.net,C#,.net,将int文本分配给字节变量是合法的: byte b = 123; // legal 但是,将int变量指定给byte变量是非法的: int i = 123; byte b = i; // illegal 因为当你分配一个文本(常量值)时,编译器可以证明这个值适合字节。当你分配一个变量时,它不能 如果指定一个常量,编译器会非常乐意编译,因为它可以确认该值在(0-255)范围内,这是字节的有效范围 例如,下面的代码编译时没有任何问题 const int i = 123; byte b
int
文本分配给字节
变量是合法的:
byte b = 123; // legal
但是,将int
变量指定给byte
变量是非法的:
int i = 123;
byte b = i; // illegal
因为当你分配一个文本(常量值)时,编译器可以证明这个值适合字节。当你分配一个变量时,它不能 如果指定一个常量,编译器会非常乐意编译,因为它可以确认该值在(0-255)范围内,这是
字节的有效范围
例如,下面的代码编译时没有任何问题
const int i = 123;
byte b = i;
因为当你分配一个文本(常量值)时,编译器可以证明这个值适合字节。当你分配一个变量时,它不能
如果指定一个常量,编译器会非常乐意编译,因为它可以确认该值在(0-255)范围内,这是字节的有效范围
例如,下面的代码编译时没有任何问题
const int i = 123;
byte b = i;
类似问题:类似问题: