相关疑难解决方法(0)

Enumerable.Sum()溢出

嘿,我正在使用Enumerable.Sum()LINQ 的扩展方法来计算哈希码,并且OverflowExceptions在代码变大时遇到问题.我尝试将电话放在一个unchecked区块中,但这似乎没有帮助.

该方法的MSDN文档说,如果值太大,它将抛出,但我检查了反射器,这就是:

public static int Sum(this IEnumerable<int> source) {
    if (source == null) {
        throw Error.ArgumentNull("source");
    }
    int num = 0;
    foreach (int num2 in source) {
        num += num2;
    }
    return num;
}
Run Code Online (Sandbox Code Playgroud)

根据这个反编译,我希望它可以溢出或不取决于调用代码的上下文.为什么它会溢出,我怎么能让它停止?

.net c# linq decompiling

12
推荐指数
2
解决办法
2307
查看次数

标签 统计

.net ×1

c# ×1

decompiling ×1

linq ×1