Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么将整型文字指定给字节变量是合法的?_C#_.net - Fatal编程技术网

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; 
类似问题:类似问题: