Enumerable.Sum()僅針對IEnumerable定義,其中T in爲什麼沒有linq for byte,uint?
double, double? int, int? 十進制, 十進制? 長, 長? 浮動, 浮動?
是否有沒有定義字節,短或uint的原因?
- 是否避免溢出問題?
- 還是它使編譯器的類型推斷困難? (最有可能)
Enumerable.Sum()僅針對IEnumerable定義,其中T in爲什麼沒有linq for byte,uint?
double, double? int, int? 十進制, 十進制? 長, 長? 浮動, 浮動?
是否有沒有定義字節,短或uint的原因?
因爲當你添加一個short和short時,結果可以通過int來處理。 也可能是一些CLS兼容問題。這是張貼一個類似的問題:
但是那麼uint呢? – 2011-06-13 19:10:06
@akash kava - CLS合規性問題 – JonH 2011-06-13 19:10:29
'uint'is _not_ CLS兼容,所以支持它的LINQ是正確的。 – 2011-06-13 19:11:17
[LINQ集合函數在字節,短褲和無符號值上的可能重複](http://stackoverflow.com/questions/6334839/linq-aggregate-functions-on-bytes-shorts-and- unsigned-value) – 2011-06-13 20:26:06