是否有内置的方法来获得算术溢出的最大值?
这就是我需要的东西:
var val = byte.MaxValue + 1;
//should be rounded down to byte.MaxValue
MyByteProperty = val;
P.S。我知道我可以通过将checked
表达式包装为Alex answered来表达,我的问题是,如果语言或BCL中存在内置方式。
答案 0 :(得分:0)
有checked
和unchecked
个关键字,表示如果发生溢出,是否会抛出异常:
try
{
MyByteProperty = checked(byte.MaxValue + 1);
}
catch (System.OverflowException e)
{
MyByteProperty = byte.MaxValue;
}