gpt4 book ai didi

C# 溢出不起作用?如何启用溢出检查?

转载 作者:IT王子 更新时间:2023-10-29 04:54:19 26 4
gpt4 key购买 nike

我在使用 C# 时发现,当我有一个非常大的整数并试图使它更大时。我相信它不会抛出某种类型的溢出错误,而只是将数字设置为可能的最低值 (-2,147,483,648)。

我想知道是否有办法在 Visual Studio 中启用溢出检查?

最佳答案

您可以使用以下步骤在 Visual Studio 中启用算术溢出/下溢检查:

  1. Right click on your project in the Solution Explorer and select Properties.
  2. On the Build tab, click the Advanced button. (It's towards the bottom)
  3. Check the "Check for arithmetic overflow / underflow" check-box.

这将抛出 System.OverflowException当发生溢出而不是将值更改为最小值的通常操作时。

没有启用算术上溢/下溢:

int test = int.MaxValue;
test++;
//Test should now be equal to -2,147,483,648 (int.MinValue)

启用算术上溢/下溢:

int test = int.MaxValue;
test++;
//System.OverflowException thrown

使用选中 block :

checked
{
int test = int.MaxValue;
test++;
//System.OverflowException thrown
}

checked 的文档可用here. (感谢 Sasha 提醒我。)

关于C# 溢出不起作用?如何启用溢出检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4878548/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com