Find和FirstOrDefault()有什么区别?
生活随笔
收集整理的這篇文章主要介紹了
Find和FirstOrDefault()有什么区别?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
From:?http://www.cnblogs.com/Benjamin/p/3261538.html
Find方法和FirstOrDefault方法效果相同,都是返回滿足條件的第一個元素,如果沒有該元素,則返回null。
那么這兩個擴展方法有什么不同?
1)Find方法是.netFramework2.0的,而FirstOrDefault是3.5的。
2)Find方法只能在List<T>上使用,而后者能更廣泛應用在IEnemerable<T>上。
3)依據http://stackoverflow.com/questions/14032709/performance-of-find-vs-firstordefault一文,
Find最終是建立在Array的查找之上,而在IEnemerable上的FirstOrDefault是使用foreach查找的。因此,Find速度會比FirstOrDefault快很多,據測試可能會快一倍以上。
結論:在List<T>上使用Find較速度較快,而其他IEnemrable<T>類型只能使用FirstOrDefault。
總結
以上是生活随笔為你收集整理的Find和FirstOrDefault()有什么区别?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KK模组|线性模组
- 下一篇: confluence5.8.10的使用