对于类型转换是否溢出可以用 checked和unchecked运算符
在unchecked上下文中会忽略溢出
在checked 会抛出异常
ushort sh = 2000; byte sb; sb = unchecked((byte)sh); Console.WriteLine(sb); sb = checked((byte)sh);//转换抛出异常 Console.WriteLine(sb);
也可以用代码块
unchecked { checked { } }
对于类型转换是否溢出可以用 checked和unchecked运算符
在unchecked上下文中会忽略溢出
在checked 会抛出异常
ushort sh = 2000; byte sb; sb = unchecked((byte)sh); Console.WriteLine(sb); sb = checked((byte)sh);//转换抛出异常 Console.WriteLine(sb);
也可以用代码块
unchecked { checked { } }