1

我有一个使用List集合的 Web 应用程序。我想用另一个更有效的片段替换这个片段。

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

我想将这些代码行替换为我find使用List.

如何更改片段?

4

2 回答 2

7

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

using System.Linq;

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

var item = liste.FirstOrDefault(x => x.Id_project == id_project);
if (item != null) 
{
   // use the object found
}
于 2013-09-19T14:36:35.547 回答
2

您可以使用LINQ它(如Felipe Oriani建议的那样)或List<T>.Find方法(不需要额外的include语句):

List<Project> liste = notre_admin.Get_Project_List();
Project p = liste.Find(x => x.Id_project == id_project);
于 2013-09-19T14:41:05.087 回答