gpt4 book ai didi

.net - Enumerable.Aggregate 中出现 InvalidOperationException 的原因是什么?

转载 作者:行者123 更新时间:2023-12-01 10:14:33 24 4
gpt4 key购买 nike

为什么只有一个重载抛出这个异常?

小更新:我了解到框架开发人员做出了设计决定。真正的问题是为什么做出这个决定,是否有相关的设计模式或其他什么?因为如果我正在设计我会返回 default(TSource)。这种做法有什么问题?

最佳答案

Aggregate<TSource>的版本你指的是Aggregate<TSource>(this IEnumerable<TSource> enumerable) .

这种特殊的聚合重载是唯一一个不包含聚合操作的种子(读取起始值)的重载。当枚举不包含任何元素时,这会产生一个有趣的情况。该方法可以执行以下操作之一

  • 抛出异常提醒用户注意该问题
  • 返回default(TSource)

图书馆的作者选择做第一个。为什么我不是特别清楚,但可能是因为它被视为一种歧义,最好是让歧义大声而不是默默地成功(可能不正确)

其他两个重载没有问题,因为它们有一个可以返回的种子/初始值。

关于.net - Enumerable.Aggregate<TSource> 中出现 InvalidOperationException 的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2548402/

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