-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];
    }
}

ラムダ式を使用して同じことを達成する方法はありますか?ありがとうございました。

4

4 に答える 4

4

あなたのループから、基準に一致した最後の項目を取得しているように見えます。何も見つからない場合は、最後の項目または null を返すEnumerable.LastOrDefaultを試すことができます。

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 に答える