【发布时间】:2013-07-17 06:30:32
【问题描述】:
当你的T是一个布尔数组时,我经常觉得IEnumerable<T>.All方法是多余的。
鉴于以下示例代码,是否有更好的方法来验证是否使用 All 方法
bool isOrdered = firstList
.Zip(secondList, (first,second)=>first==second)
.All(areSame => areSame); /* feels redundant */
在其他一些语言中,只需调用.All() 即可确保所有元素都为真。如果没有 akward .All(x=>x)
【问题讨论】:
-
您可以编写自己的扩展方法,命名为 AllTrue 和 AllFalse
-
也许为
IEnumerable<bool>编写自己的扩展名为AllTrue(或其他)并在那里调用All(x=>x)? :)
标签: c# linq ienumerable redundancy