过滤具有给定条件的列表

时间:2013-06-23 19:36:04

标签: c#-4.0

鉴于列表var items = new List<int>() { 1,2,3,4,5,6,7,8,9,-10 };,最好的方法是确保列表中的所有条目是否为正数?

通常我会设置一个这样的标志

foreach(int i in items)
{
   if( i < 0) ... update the flagVariable

}

2 个答案:

答案 0 :(得分:1)

bool allPositive = items.All(i => i > 0);

虽然根据您的情况,您可能实际上正在检查没有负值:

bool noNegatives = items.All(i => i >= 0);

AllSystem.Linq.Enumerable类中定义的扩展方法,因此要使用它,您需要添加对System.Core程序集的引用并添加

using System.Linq;指示到文件顶部。

答案 1 :(得分:0)

查看此帖子List.TrueForAll

以下代码可以解决问题

var isPositiveEntries = items.TrueForAll(number => number > 0);