-1

目前,我正在通过运行一个循环来获得一个项目:

IList<Project> prjs = SolutionProjects.Projects();
Project p = null;
for (int i = 0; i < prjs.Count; i++)
{
    if (prjs[i].Name == "prj5")
    {
        p = prjs[i];
    }
}

有没有办法使用 lambda 表达式来完成同样的事情?谢谢你。

4

4 回答 4

4

从您的循环中,您似乎获得了符合条件的 Last 项目,您可以尝试Enumerable.LastOrDefault,如果没有找到,它将返回最后一个项目或 null。

Project p  = prjs.LastOrDefault(r=> r.Name == "prj5");
于 2012-12-21T10:07:30.400 回答
2
SolutionProjects.Projects().LastOrDefault(x => x.Name == "prj5")
于 2012-12-21T10:07:25.587 回答
1

可以使用Enumerable.LastOrDefault (),

var project = prjs.Where(c=>c.Name == "prj5").LastOrDefault();
于 2012-12-21T10:06:33.137 回答
0
Project p = SolutionProjects.Projects()
                .Where(p=>p.Name = "prj5")
                .LastOrDefault();
于 2012-12-21T10:06:06.213 回答