LINQ副作用

pis*_*hio 9 c# linq foreach

是否有可能foreach在LINQ(.Select))中用lambda表达式替换循环?

List<int> l = {1, 2, 3, 4, 5};
foreach (int i in l)
    Console.WriteLine(i);
Run Code Online (Sandbox Code Playgroud)

至:

List<int> l = {1, 2, 3, 4, 5};
l.Select(/* print to console */);
Run Code Online (Sandbox Code Playgroud)

Rob*_*ine 12

没有Linq等同于foreach,虽然自己很容易实现它.

Eric Lippert 此详细描述了为什么Linq本身没有实现这一点.

但是,如果您的集合是一个List(它似乎在您的示例中),您可以使用List.ForEach:

myList.ForEach(item => Console.WriteLine(item));
Run Code Online (Sandbox Code Playgroud)