桑心啊,List<T>.FindAll()的效率竟然比for循环还差。

自从认识了FindAll(),一般List中查找符合条件的数据项我都用List<T>.Find()或List<T>.FindAll().

代码简洁,自己看了赏心悦目,况且是微软内部的方法,效率应该不会差。

然而,今天心血来潮,写代码测试了一下,确发现FindAll()比For循环效率差了好多,集合比较小的时候这差异就更明显了。

测试代码:

  List长度为100时的测试结果,即上面的代码:

哎,集合小的时候差距最为明显,想不到差了五六十倍。

看来以后List<T>.FindAll()还是少用为好。

posted @   Gyoung  阅读(5184)  评论(26编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示