3

我有一个IEnumerable<Project>

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

有没有办法做到这一点?

4

4 回答 4

11

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

IEnumerable<Project> projects = SomeMethodReturningProjects();
if(projects.Any(p => p.ID == someID))
{
    //Do something...
}
于 2013-02-14T20:13:58.757 回答
5

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

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

或者,如果您想获取该记录,可以使用FirstOrDefault()

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

null如果它没有找到任何匹配的东西,这将返回,但如果找到它,它将拉出整个对象。

于 2013-02-14T20:14:26.433 回答
4

使用

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

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

于 2013-02-14T20:14:12.203 回答
3

是的,使用Any扩展方法:

list.Any(p => p.ID == someID);
于 2013-02-14T20:14:00.410 回答