0

算術オーバーフローで最大値を取得する組み込みの方法はありますか?

必要なものは次のとおりです。

var val = byte.MaxValue + 1;

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

PSアレックスが答えcheckedたように式としてラップすることでそれができることはわかっています。私の質問は、言語またはBCLに組み込みの方法があるかどうかです。

4

1 に答える 1

0

オーバーフローが発生した場合に例外がスローされるかどうかを示すキーワードcheckedとキーワードがあります。unchecked

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