Array.Sum() 导致溢出

2023-11-23

我有一个像这样的 int 数组

int[] arr = {256741038,623958417,467905213,714532089,938071625};

然后我创建了一个 int64 var

Int64 sum = arr.Sum();

但这导致了溢出

运行时异常(第 19 行):算术运算导致 溢出。

如何在不使用循环求和的情况下解决这个问题? (数组类型必须是int)


问题是,虽然个人价值观符合int,这些数字结果的总和大于int能把持住。

因此,您需要将值转换为long(或其他需要这么大数字的数据类型,但由于您使用的是 Int64...):

long sum = arr.Sum(v => (long)v);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Array.Sum() 导致溢出 的相关文章

随机推荐

  • 当您的类未定义 #each 时,返回 Enumerator::Lazy 的最佳方法是什么?

    Enumerable lazy依赖于你的枚举提供 each方法 如果你的枚举没有 each你不能使用的方法 lazy Now Kernel enum for and to enum提供指定枚举方法以外的灵活性 each Kernel enu
  • 使用 Delphi 6 处理 Unicode 字符

    我有一个用 Delphi 6 开发的轮询应用程序 它读取文件 根据规范解析文件 执行验证并上传到数据库 SQL Server 2008 精简版 我们必须为具有双字节字符集 DBCS 的操作系统提供支持 例如日本操作系统 因此 我们将 SQL
  • 使用 Boost::Regex 获取最后一场比赛

    我在 C 中有一个带有 Boost 的正则表达式 它匹配多行字符串中的行 正则表达式搜索找到第一个匹配项 但是我对匹配的最后一行感兴趣 我现在使用的代码是这样的 matched boost regex search input result
  • 静态锁可以跨不同的子类工作吗?

    如果我有 abstract class Parent static object staticLock new object public void Method1 lock staticLock Method2 protected abs
  • 如何将gradle添加到子项目根项目作为依赖项?

    我有以下项目结构settings gradle include B include C rootProject name A 如何将gradle添加到子项目根项目作为依赖项 就project就方法而言 根项目没有名称 这是项目 B 的 bu
  • 计算总和为零的所有连续子数组

    给定长度为 n 的随机数 正数和负数 数组 我想要数字连续的子数组 其总和等于零 Example 鉴于我有数组a 1 1 2 2 6 6 输出将是6因为子数组如下 1 1 2 2 6 6 1 1 2 2 2 2 6 6 1 1 2 2 6
  • 使用 JPA 注释映射 java.util.Map 时键和值列名称会覆盖

    我正在研究使用 Hibernate 4 1 9 和 JPA 注释来注释地图的不同方法 如果我想存储一个 Map 其中键是实体值的属性 则标记如下所示 OneToMany mappedBy deptById targetEntity com
  • C# 属性集合[重复]

    这个问题在这里已经有答案了 我有一个特定的内置属性集合 例如 System Runtime Serialization SerializedAttribute 我想将其应用于特定的类集合 是否有可能将这些属性合而为一 我不想将它们全部显式应
  • 在一张图上绘制两张图。功能线不起作用

    我想在一张图上绘制两张图 我读这个帖子 但函数lines不起作用 什么也没有发生 我不知道会出现什么问题 有任何想法吗 编辑 可重现的例子 gt tr error 1 0 2314984 0 2314990 0 2314981 0 2314
  • MIME 类型('text/html')不是受支持的样式表

    我正在将 css 文件链接到我的express handlebars 文件 但收到此错误 拒绝应用来自 的样式http localhost 4000 cs366 style draft css 因为它的 MIME 类型 text html
  • 退出当前浏览器(返回一级)

    有时你会抛出多个browser进入一个函数进行调试 我知道你可以退出整个shebangQ但是如果您想退出第二个浏览器 参见下面的代码 并返回到第一级浏览器怎么办 我听说过类型c但这并没有退出第二层browser FUN lt functio
  • 将变量从一个 HTML 页面传递到另一个 HTML 页面的最佳实践是什么?

    我对网络应用程序编程比较陌生 所以我希望这个问题对每个人来说都不是太基础 我创建了一个 HTML 页面 其中包含一个包含 dojox 数据网格 v1 2 的 FORM 其中填充了不同杂货项目的描述行 用户选择他感兴趣的项目后 他将单击 提交
  • UIImagePickerController 的cameraViewTransform 忽略了 iOS 10 beta 上的“缩放”和“平移”

    我一直在使用下面的代码来缩放 UIImagePickerController 的实时预览以填充整个屏幕 到目前为止 这一切都很完美 几天前 我在 iPhone 5 上安装了 iOS 10 beta 7 但它不再扩展了 我可以在 UIImag
  • PCL .NET 4.5 定时器

    我正在使用 Xamarin 和 MvvmCross 构建跨平台应用程序 我需要每分钟调用服务器更新一次 稍后我将转向推送通知 但我无法在我的核心项目中设置计时器 我见过 MvvmCross N 42 但我相信目标项目比较旧 允许计时器 下面
  • Translation.E004) 您为 LANGUAGE_CODE 设置提供了一个不在 LANGUAGES 设置中的值

    我刚刚重新映像了我的计算机 因此为我的 django 项目设置了所有内容 然后在运行服务器时出现此错误 我不知道它指的是什么 因为我的原始网站是开箱即用的 而且我会说英语 并且该网站是一个内部工作网站 因此没有理由做任何基于语言的事情 有谁
  • Angular 2 中的错误处理程序和拦截器有什么区别?

    另外 对于实时 Web 应用程序 ng2 中前端错误处理的最佳解决方案是什么 使用 Http拦截器 进行前端错误处理可以吗 请解释一下这些事情 Angular 2 中的错误处理程序和拦截器有什么区别 根据 Angular 文档 它们是这样定
  • 在 Ubuntu 上更新 TimescaleDB 后 Postgres 出现错误:找不到文件

    如指定官方文档我将 Timescale PPA 存储库添加到apt 然后我通过安装它sudo apt install timescaledb postgresql 9 6 一切都工作正常 随着最近的运行sudo apt upgrade时间刻
  • 更改当前正在运行的进程的所有者

    我有一个当前正在运行的进程pid PID 并由user foo这是not root 我想将此进程的所有权转移给另一个进程user bar这也是not root 是否有一个 shell 命令可以更改进程的所有者 我正在考虑一个chown但对于
  • Stripe:为订阅添加免费天数

    是否可以为 Stripe 上的有效订阅添加免费天数 我想这样做是为了创建一个推荐计划 当用户推荐某人时 他将获得 10 天的免费时间 我认为一个好方法是更新current period endvar 但我在文档中找不到如何执行此操作 例如
  • Array.Sum() 导致溢出

    我有一个像这样的 int 数组 int arr 256741038 623958417 467905213 714532089 938071625 然后我创建了一个 int64 var Int64 sum arr Sum 但这导致了溢出 运