.net 为什么IEnumerable没有Sum()扩展<;uint>;
似乎没有为.net 为什么IEnumerable没有Sum()扩展<;uint>;,.net,.net,似乎没有为IEnumerable(以及其他无符号整数)定义Sum 我想知道: 我是否犯了根本错误/误解了形势 哪些设计决策可能导致遗漏IEnumerable.Sum() 这可能只是一个疏忽。我想起了,它在列表中可用,但不可数。我已经在至少3个项目中编写了.ForEach作为IEnumerable的扩展方法 只是猜测:因为uint不符合CLS。不确定这是否会影响他们不支持它的决定。你可以自己做一个……所有功能都从-100开始:@Trillian极好的点,但是为什么int功能克服了-100,而u
IEnumerable
(以及其他无符号整数)定义Sum
我想知道:
- 我是否犯了根本错误/误解了形势
- 哪些设计决策可能导致遗漏
IEnumerable.Sum()
这可能只是一个疏忽。我想起了,它在列表中可用,但不可数。我已经在至少3个项目中编写了.ForEach作为IEnumerable的扩展方法 只是猜测:因为uint不符合CLS。不确定这是否会影响他们不支持它的决定。你可以自己做一个……所有功能都从-100开始:@Trillian极好的点,但是为什么
int
功能克服了-100,而uint
没有?……除了ForEach
不是一个疏忽之外。它故意不包括在IEnumerable
扩展方法中,因为这些方法都是功能性的,而ForEach
基本上是不起作用的。也就是说,它应该是IList中的一种扩展方法;看(和投票!)是的,那就够了。看见
var s = new int[] { 1, 2, 3 };
s.Sum(); //works fine
var us = new uint[] { 1, 2, 3 };
us.Sum(); //missing method