考虑这个声明:
StandardLookUpList analysisSport = lookupItem.Where(w => w.Code == Constants.Sport).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
代码将analysisSport多次引用。
该语句会被多次评估吗?
如果它会被多次评估是一种让它评估一次的方法吗?
就像你可以ToList()让 LINQ 立即评估一次。
FirstOrDefaultToList就它只枚举一次而言,它与可枚举具有相同的效果。
唯一需要关注多重枚举的时候是,当你有一个可枚举时就够有趣了!由于FirstOrDefault返回一个具体的对象(当然也可以是 null),因此没有什么可枚举的。
另一个潜在的陷阱是analysisSportare 的任何子属性,IEnumerable根据它们的底层类型,它们可能会被多次枚举。
| 归档时间: |
|
| 查看次数: |
540 次 |
| 最近记录: |