如何检查集合中的项是否包含特定值
本文关键字:是否 包含特 集合 何检查 检查 | 更新日期: 2023-09-27 18:06:41
我有一个名为AvailableNations
的集合,在这个集合中我有一个名为IsSelected
的属性,我需要在第一个项目之后检查,如果所有项目的IsSelected
值都设置为true,我这样做:
var allChecked = lsVm.AvailableNations.Skip(1).Where(c => c.IsChecked == true).Any();
,但这将返回true
在任何情况下,而不是应该返回false,因为我几乎有一个项目的属性设置为false
。
也许是.Any()
的问题?
您需要在这里使用All()
,它将检查所有项目是否被选中:
var allChecked = lsVm.AvailableNations.Skip(1).All(c => c.IsChecked);
Any
方法(在此上下文中)在检查AvailableNotations
的任何时返回true。您需要的是All
扩展方法。
var allChecked = lsVm.AvailableNations
.Skip(1) // Skip first element
.All(x=>x.IsChecked ); // returns true when `IsChecked` is true for all, else false.