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
.
如何更改代码段?
你可以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)