gpt4 book ai didi

c# - 列表总和太大,抛出溢出异常

转载 作者:太空狗 更新时间:2023-10-30 00:02:35 25 4
gpt4 key购买 nike

我有一个不超过 2 000 000 个素数的列表。这个列表包含将近 150 000 个非常大的整数。我想要其中所有数字的总和。这是一个随机的大整数列表,仅用于演示:

List<int> numbers = new List<int>();
for (int i = 0; i < 100; i++)
{
numbers.Add(1000000000);
}
Console.WriteLine(numbers.Sum().ToString());

我收到“算术运算导致溢出”异常。我猜总和太大了,但是将它转换为 Int64 并没有帮助,它仍然抛出相同的异常。

Console.WriteLine(Convert.ToUInt64(numbers.Sum()).ToString());

我什至尝试将总和保存到 Int64 变量中然后使用它,但这也没有用。

long sum = numbers.Sum();
Console.WriteLine(sum.ToString());

是否有任何数据类型可以容纳这么大的数字,还是我在其他地方犯了错误?感谢您的帮助。

最佳答案

在求和之前尝试转换为 Int64(长):

Console.WriteLine(numbers.Select(x=> (long)x).Sum().ToString());

关于c# - 列表总和太大,抛出溢出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52633126/

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