使用 lambda 表达式将范围添加到现有列表
本文关键字:列表 添加 范围 lambda 表达式 使用 | 更新日期: 2023-09-27 17:56:57
我想使用 AddRange
将项目列表添加到现有列表中,而不是迭代。我的问题是,如果我添加到现有列表中的集合是 lambda 表达式,那么当我访问现有列表或此时添加到现有列表中的项目时,是否会重新评估它。如果是前者,那么我当然可以使用.ToList()
简单地评估表达式。见下文:
_divisionsInGroup.AddRange(Event.Divisions.Where(x => x.SplitGroup == SplitGroup));
还是我需要
_divisionsInGroup.AddRange(Event.Divisions.Where(x => x.SplitGroup == SplitGroup).ToList());
编辑:它似乎可以计算表达式并将项目添加到列表中,因此无需通过在 lambda 上调用 ToList() 来创建新的列表实例。
AddRange
更改基础列表对象。
_divisionsInGroup.AddRange(Event.Divisions.Where(x => x.SplitGroup == SplitGroup));
将更改_divisionsInGroup
.
如果要进一步将其转换为List<T>
,则应使用.ToList())
。
无需在 lambda 上调用 ToList(),表达式由 AddRange 方法计算,项目附加到列表末尾。