0

有没有一种内置的方法来获得算术溢出的最大值?

这是我需要的:

var val = byte.MaxValue + 1;

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

PS我知道我可以通过将它包装为Alex回答checked的表达式来做到这一点,我的问题是语言或BCL中是否有内置方式。

4

1 回答 1

0

checkedunchecked关键字,表示发生溢出时是否抛出异常:

try
{
    MyByteProperty = checked(byte.MaxValue + 1);
}
catch (System.OverflowException e)
{
    MyByteProperty = byte.MaxValue;
}
于 2015-03-21T21:17:36.503 回答