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

Roo*_*ian 4 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)
Run Code Online (Sandbox Code Playgroud)

这怎么可能?:)

Mar*_*ell 6

我不会; 我只是用:

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

但你可以使用:

list.FindAll(x=>x.StartsWith("a"))
    .ForEach(item=>Console.WriteLine(item + " matches!"));
Run Code Online (Sandbox Code Playgroud)