关于.net:为什么IEnumerable< uint>没有Sum()扩展名?

Why is there no Sum() extension for IEnumerable<uint>

似乎没有为IEnumerable和其他无符号整数定义和。

1
2
3
4
5
var s = new int[] { 1, 2, 3 };
s.Sum(); //works fine

var us = new uint[] { 1, 2, 3 };
us.Sum(); //missing method

我想知道:

  • 我是否做了一些根本错误/误解情况的事情?
  • 哪些设计决策可能导致省略IEnumerable.Sum()

msdn:可枚举的.sum


只是猜测一下:因为uint不符合cls。不确定这是否会影响他们不支持它的决定。


这可能只是一个疏忽。我想起了foreach,它在列表中可用,但不是IEnumerable。我已经在至少3个项目中编写了.foreach作为IEnumerable的扩展方法。