简体   繁体   中英

Using lambda expression in List of Projects [ENVDTE]

Currently, I am getting a project by running a loop :

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

Is there a way to accomplish the same using a lambda expression? Thank You.

从您的循环中,您似乎正在获取与条件匹配的最后一个项目,您可以尝试Enumerable.LastOrDefault ,它将返回您的最后一个itme或null(如果找不到)。

Project p  = prjs.LastOrDefault(r=> r.Name == "prj5");
SolutionProjects.Projects().LastOrDefault(x => x.Name == "prj5")

您可以使用Enumerable.LastOrDefault (),

var project = prjs.Where(c=>c.Name == "prj5").LastOrDefault();
Project p = SolutionProjects.Projects()
                .Where(p=>p.Name = "prj5")
                .LastOrDefault();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM