为什么IEnumerable <uint> </uint>没有Sum()扩展名

时间:2010-05-06 21:11:04

标签: .net

似乎没有为IEnumerable<uint>(以及其他无符号整数)定义Sum

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

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

我想知道:

  • 我做过一些根本错误/误解了这种情况吗?
  • 哪些设计决策可能导致遗漏IEnumerable<uint>.Sum()

MSDN: Enumerable.Sum

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:0)

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

相关问题