我正在尝试检查列表中是否存在特定对象。我有一个ListA,其中包含所有元素,并且我有一个字符串,该字符串可能属于也可能不属于列表A中一个对象的ID。
我知道以下内容:
如果该元素存在于列表中,则 List<T>.Contains(T)
返回true。问题:我必须搜索特定的元素。
List<T>.Find(Predicate<T>)
在List中找到具有谓词的元素,则返回Object。问题:这给了我一个对象,但我想要是非。
现在我想出了:
if (ListA.Contains(ListA.Find(a => a.Id == stringID)) ==true)
...很酷
这是最好的解决方案吗?对我来说有点奇怪。
答案 0 :(得分:2)
您可以使用Any()
,
Linq的
Any()
,查找列表中的任何元素是否满足给定 是否满足条件,则返回true
if(ListA.Any(a => a.Id == stringID))
{
//Your logic goes here;
}
答案 1 :(得分:1)
为此使用Any
。
if (ListA.Any(item => item.id == yourId))
{
...
}
答案 2 :(得分:1)
使用.Any是最好的选择:MSDN
if(ListA.Any(a => a.Id == stringID))
{
//You have your value.
}