使用 LINQ 的魔力 - 如何为每个匹配的条件调用委托?
我想做这样的事情:
List<string> list = new List<string>();
... put some data in it ...
list.CallActionForEachMatch(x=>x.StartsWith("a"), ()=> Console.WriteLine(x + " matches!"););
Syntax: CallActionForEachMatch(Criteria, Action)
这怎么可能? :)
I wanna do something like this:
List<string> list = new List<string>();
... put some data in it ...
list.CallActionForEachMatch(x=>x.StartsWith("a"), ()=> Console.WriteLine(x + " matches!"););
Syntax: CallActionForEachMatch(Criteria, Action)
How is this possible? :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我不会;我只会使用:
但你可以使用:
I wouldn't; I'd just use:
But you could use:
或者您可以编写自己的 CallActionForEachMatch 扩展:
Or you can write your own CallActionForEachMatch extension:
编写扩展方法:
用法:
请注意,这是完全通用的,因为它会吃掉任何
IEnumerable
。请注意,由于明显的副作用,有些人会认为这是对 LINQ 的滥用。Write extension methods:
Usage:
Note this is fully general as it will eat any
IEnumerable<T>
. Note that there are some that would consider this an abuse of LINQ because of the explicit side effects.像这样的扩展方法:
An extension method something like this: