我已经开始学习C#并且需要清除一些关于溢出概念的混淆.我们知道如果超过任何数据类型的限制,C#只返回0.
例如:字节b = 255; 如果我们将b的值增加1,那么b的值将为零.对于下面的代码,我输出为256.
using System;
namespace HelloWorld{
class program{
static void Main(){
byte b = 255;
Console.WriteLine(b+1);
}
}
}
Run Code Online (Sandbox Code Playgroud)
而不是0,我输出为256,这超出了字节类型b的限制.这怎么可能 ?.
using System;
namespace HelloWorld{
class program{
static void Main(){
byte b = 255;
b = b+1
Console.WriteLine(b);
}
}
Run Code Online (Sandbox Code Playgroud)
对于上面的代码我得到编译错误即错误CS0266:不能隐式转换类型int' to字节'.存在显式转换(您是否错过了演员?)
救命 !!!!