确定LINQ Enumerable是否包含基于条件的对象

本文关键字:条件 对象 于条件 LINQ Enumerable 是否 包含基 确定 | 更新日期: 2023-09-27 17:59:07

我有一个IEnumerable<Project>

我想知道这个列表是否有任何元素Project.ID == someID

有办法做到这一点吗?

确定LINQ Enumerable是否包含基于条件的对象

是的,您想要使用Any方法(文档)。

IEnumerable<Project> projects = SomeMethodReturningProjects();
if(projects.Any(p => p.ID == someID))
{
    //Do something...
}

您可以使用Any()扩展方法。

var hasAny = projectList.Any(proj => proj.ID == someID);

或者,如果你想获得该记录,你可以使用FirstOrDefault():

var matchedProject = projectList.FirstOrDefault(proj => proj.ID == someID);

如果没有找到匹配的对象,它将返回null,但如果找到了,它将拉取整个对象。

使用

projects.Any(p => p.ID == someID)  

如果谓词与任何元素匹配,则返回true(布尔值)。

是,使用Any扩展方法:

list.Any(p => p.ID == someID);