1. 程式人生 > >【轉載】C#使用FirstOrDefault方法快速查找List集合中符合條件的第一個實體

【轉載】C#使用FirstOrDefault方法快速查找List集合中符合條件的第一個實體

== 轉載 對象 targe index lan where 相關 其他

在C#的List集合的操作中,有時候我們需要根據相關條件快速從List集合中獲取到第一個符合條件的實體對象,例如有個全校班級的List集合,我們需要根據班級代碼快速從List集合中查找出班級信息。可以使用傳統的for或者foreach循環來單獨比對查詢來實現,其實還可以通過Lambda表達式中的FirstOrDefault方法快速來查找,只需一條語句即可查找出來。

例如有個全校班級信息的List集合List<StudentClass> classList,需要快速從classList集合中查找班級代碼ClassCode為A101的班級實體記錄,可使用下列語句:

StudentClass whereClass=classList.FirstOrDefault(t=>t.ClassCode=="A101");

上述語句中t是lambda表示式的一種寫法,代表List集合裏面的對象實體,你可命名為其他變量名也可以,例如a,b等。

如果List集合含有相應的符合條件的實體記錄,則FirstOrDefault返回查找到的第一條實體記錄信息,否則FirstOrDefault方法返回為NULL。

因此如果無法100%確保List集合中含有符合條件的記錄,則需要在使用前判斷是否為NULL。

上述Lambda表達式也可以加入相應的函數以及多個條件,例如加入SchoolName名稱包含實驗倆字的記錄,可通過下列語句實現。

StudentClass whereClass=classList.FirstOrDefault(t=>t.ClassCode=="A101"&&t.SchoolName.Contain("實驗"));

備註:原文轉載自C#使用FirstOrDefault方法快速查找List集合中符合條件的第一個實體_IT技術小趣屋。

【轉載】C#使用FirstOrDefault方法快速查找List集合中符合條件的第一個實體