C# 检查值是否已在列表属性中

C# 检查值是否已在列表属性中,c#,list,C#,List,下面我试着看看文本是否已经包含在列表中。代码总是进入if语句。为什么 if(MyGlobals.ListOfItemsToControl.FindAll(x => x.sItemName == info.FullName ) != null) { ... } 使用 或 使用 或 使用Any代替FindAll if(MyGlobals.ListOfItemsToControl.Any(x => x.sItemName == info.FullName )) FindAll不

下面我试着看看文本是否已经包含在列表中。代码总是进入if语句。为什么

if(MyGlobals.ListOfItemsToControl.FindAll(x => x.sItemName == info.FullName ) != null)
{
   ...
}
使用

使用


使用Any代替FindAll

if(MyGlobals.ListOfItemsToControl.Any(x => x.sItemName == info.FullName )) 
FindAll
不返回null如果找不到值,则返回空集合

所以你可以做(但不要)


使用Any代替FindAll

if(MyGlobals.ListOfItemsToControl.Any(x => x.sItemName == info.FullName )) 
FindAll
不返回null如果找不到值,则返回空集合

所以你可以做(但不要)

if(MyGlobals.ListOfItemsToControl.Any(x => x.sItemName == info.FullName )) 
 if(MyGlobals.ListOfItemsToControl.FindAll(x => x.sItemName == info.FullName ).Any())