-
我在 C# 里写了个 LINQ 查询赋给一个变量,以为它已经是查询结果了,结果那个耗时的过滤被反复执行了好多次,还有一次枚举时拿到的数据跟我预期的完全不一样:一次没搞懂 LINQ 延迟执行的深度复盘
我有段代码从数据源筛元素,判断条件是个耗时操作,写成 var result = source.Where(x => SlowCheck(x))。后面用了好几次:result.Count() 看数量、foreach 遍历、result.Any() 判断。我想当然以为 result 就是算好的结果集、几次用的是同一份数据。可接口慢得反常,加日志才傻眼:那个耗时的 SlowCheck 被执行了好几…- 0
- 0
deferred execution
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!

