<分区>
我正在尝试使用 LINQ 将一个列表拆分为两个列表,而无需对“主”列表进行两次迭代。一个列表应包含 LINQ 条件为 true 的元素,另一个列表应包含所有其他元素。这有可能吗?
现在我只使用两个 LINQ 查询,因此将(巨大的)主列表迭代两次。
这是我现在正在使用的(伪)代码:
List<EventModel> events = GetAllEvents();
List<EventModel> openEvents = events.Where(e => e.Closer_User_ID == null);
List<EventModel> closedEvents = events.Where(e => e.Closer_User_ID != null);
是否可以在不对原始列表进行两次迭代的情况下产生相同的结果?