linq - 使用 LINQ 的魔力 - 如何为每个匹配的条件调用委托(delegate)?

标签 linq lambda

我想做这样的事情:

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)

这怎么可能? :)

最佳答案

我不会;我只是使用:

foreach(var item in list.Where(x=>x.StartsWith("a"))) {
    Console.WriteLine(item + " matches!");
}

但你可以使用:
list.FindAll(x=>x.StartsWith("a"))
    .ForEach(item=>Console.WriteLine(item + " matches!"));

关于linq - 使用 LINQ 的魔力 - 如何为每个匹配的条件调用委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1993041/

相关文章:

c# - 命名参数规范必须出现在指定所有固定参数之后

C++11 Lambda 表达式作为回调函数

entity-framework - 如何在 Entity Framework 中动态构建 Where 表达式?

c# - 任务不包含在一行代码中完成的定义

java - 使用函数进行bean比较的库函数?

python - 如何将 lambda 函数读取为字符串?

c# - 获取数据表中不同的日期

c# - IQueryable<T> 给出的结果与 List<T> 不同

c# - Linq 中的 DocumentDb 空间距离返回奇怪的结果

c# - 使用 Lambda 表达式查询字典