我有一个清单,
List<bool> MyList;
MyList.Add(true);
MyList.Add(false);
MyList.Add(false);
使用linq测试任何值是否为真的干净方法是什么?我试过了
MyList.Find(SomeBoolean=>SomeBoolean)
但结果很奇怪。
答案 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)
您可能忘了宣布var
或DataType
?
答案 3 :(得分:0)
myList是一个bool列表
myList = getSelectedChannels(); 列出allTrue = myList.FindAll(a =&gt; a == true);
allTrue将是符合条件的bool列表(bool为true)。现在只需说出allTrue.Count来获取该列表中的项目数。