使用列表集合的find方法

Lam*_*fif 1 .net c# linq collections

我有一个Web应用程序,我在其中使用List集合.我想用另一个更高效的替换这个片段.

List<Project> liste = notre_admin.Get_Project_List();
Project p = new Project();
foreach (Project pi in liste)
{
    if (pi.Id_project == id_project) {p = pi; break;}
}
Run Code Online (Sandbox Code Playgroud)

我想用一行替换这些代码行,其中我使用的find方法List.

如何更改代码段?

Fel*_*ani 7

你可以Linq用来解决它.首先,包括命名空间:

using System.Linq;
Run Code Online (Sandbox Code Playgroud)

之后,尝试在FirstOrDefault扩展方法中使用lambda表达式查找第一个元素:

var item = liste.FirstOrDefault(x => x.Id_project == id_project);
if (item != null) 
{
   // use the object found
}
Run Code Online (Sandbox Code Playgroud)