Csharp/C#教程:您可以在迭代期间在LINQ语句中实时设置/更新值吗?分享


您可以在迭代期间在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

(0)
上一篇 2021年11月27日
下一篇 2021年11月27日

精彩推荐