我有一个场景,需要将一些项目添加到列表中...
List<T> items = new List<T>();
IEnumerable<T> addItems = someCollection.Where(...);
items.AddRange(addItems);
使用此代码,列表中不会添加任何项目,但是如果在Linq语句后添加.ToList(),则项目将正确添加。我猜这是由于延迟执行造成的,但是我认为由于List.AddRange函数接受IEnumerable,因此它应该枚举要添加的项。有人可以请解释一下为什么会发生这种情况吗?