Linq:我如何测试List <bool>的条件,其中任何一个值== true?</bool>

时间:2013-02-07 07:58:50

标签: linq

我有一个清单,

List<bool> MyList;
MyList.Add(true);
MyList.Add(false);
MyList.Add(false);

使用linq测试任何值是否为真的干净方法是什么?我试过了

MyList.Find(SomeBoolean=>SomeBoolean)

但结果很奇怪。

4 个答案:

答案 0 :(得分:10)

尝试:

bool test = MyList.Any(x => x);

但是你必须在插入任何内容之前初始化你的列表。

答案 1 :(得分:4)

使用任何

var anyTrue = MyList.Any(i => i);

答案 2 :(得分:1)

如果要列出所有true

List<bool> MyList = new List<bool>();
MyList.Add(true);
MyList.Add(false);
MyList.Add(false);
var listTrue = MyList.Where(c => c);

我想知道,你的实际Class是什么,因为如果你想要.Find是相同的结果。

var b = MyList.Find(c => c)

您可能忘了宣布varDataType

答案 3 :(得分:0)

myList是一个bool列表

myList = getSelectedChannels(); 列出allTrue = myList.FindAll(a =&gt; a == true);

allTrue将是符合条件的bool列表(bool为true)。现在只需说出allTrue.Count来获取该列表中的项目数。