基于对我的其他问题的建议答案...是否可以在 LINQ 枚举期间更新变量,以便您可以将其用作测试的一部分?
例如,这样的事情可能吗?
// Assume limitItem is of type Foo and sourceList is of type List<Foo>
// Note the faux attempt to set limitItemFound in the TakeWhile clause
// That is what I'm wondering.
sourceList.Reverse()
.TakeWhile(o => (o != limitItem) && !limitItemFound; limitItemFound = limitItemFound || (o == limitItem) )
.FirstOrDefault(o => ...);
这将使搜索包含limitItem。