获取算术溢出的最大值

时间:2015-03-21 21:11:59

标签: c# integer-overflow arithmetic-expressions integer-arithmetic overflowexception

是否有内置的方法来获得算术溢出的最大值?

这就是我需要的东西:

var val = byte.MaxValue + 1;

//should be rounded down to byte.MaxValue
MyByteProperty = val;

P.S。我知道我可以通过将checked表达式包装为Alex answered来表达,我的问题是,如果语言或BCL中存在内置方式。

1 个答案:

答案 0 :(得分:0)

checkedunchecked个关键字,表示如果发生溢出,是否会抛出异常:

try
{
    MyByteProperty = checked(byte.MaxValue + 1);
}
catch (System.OverflowException e)
{
    MyByteProperty = byte.MaxValue;
}