选择无法打印到控制台
本文关键字:控制台 打印 选择 | 更新日期: 2023-09-27 18:00:20
我希望使用Select
作为函数foreach。当我做以下操作时,我希望它能打印
foo
bar
baz
但是它什么也没印。怎么了?代码是
List<String> strings = new List<String>(){"foo", "bar", "baz"};
strings.Select(st => { Console.WriteLine(st); return 1; });
使用ForEach:
List<String> strings = new List<String>() { "foo", "bar", "baz" };
strings.ForEach(st => { Console.WriteLine(st); });
通过使用Select,您基本上定义了具有以下主体的匿名函数。
Console.WriteLine(st);
return 1;
因此,Console.WriteLine只有在您遍历列表时才会被触发,如下所示:
var x= strings.Select(st => { Console.WriteLine(st); return 1; });
foreach (var i in x){ }
或x.ToList()
这是错误的,使用ForEach:)