C# Find()和First()與FirstOrDefault(


1. Find方法只能在List<T>上使用,而后者能更廣泛應用在IEnemerable<T>上。

Find最終是建立在Array的查找之上,而在IEnemerable上的FirstOrDefault是使用foreach查找的。因此,Find速度會比FirstOrDefault快很多,據測試可能會快一倍以上。

2. First:取序列中滿足條件的第一個元素,如果沒有元素滿足條件,則拋出異常 
3. FirstOrDefault:取序列中滿足條件的第一個元素,如果沒有元素滿足條件,則返回默認值(對於可以為null的對象,默認值為null,對於不能為null的對象,如int,默認值為0) 
First、FirstOrDefault的區別在於:當沒有元素滿足條件時,一個拋出異常,一個返回默認值。 
因此,在使用時,一定要注意這個區別: 
1、當確信序列中一定有滿足條件的元素時,使用First方法,取到元素后,無需判斷是否為null 
2、當序列中可能找不到滿足條件的元素時,使用FirstOrDefault方法,然后,一定要對返回值是否為null,進行不同的處理

 

參考文獻:http://blog.csdn.net/colorwaterer/article/details/41224543


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM