您可以在迭代期间在LINQ语句中实时设置/更新值吗?
根据我对其他问题的建议答案…是否可以在LINQ枚举期间更新变量,以便将其用作测试的一部分?
例如,这样的事情可能吗?
// Assume limitItem is of type Foo and sourceList is of type List // 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。
对于LINQ to Objects(接受委托 ),你可以,是的 – 使用语句lambda :
sourceList.Reverse() .TakeWhile(o => { ... fairly arbitrary code here return someValue; }) .FirstOrDefault(o => ...);
我强烈反对你不这样做。 这将使得理解正在发生的事情变得更加困难,因为你正在失去习惯性LINQ代码的声明性质。
上述就是C#学习教程:您可以在迭代期间在LINQ语句中实时设置/更新值吗?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/962616.html