【发布时间】:2013-02-05 13:46:15
【问题描述】:
我希望将Select 用作功能性foreach。当我执行以下操作时,我希望它能够打印
foo
bar
baz
但是它不打印任何东西。怎么会?代码是
List<String> strings = new List<String>(){"foo", "bar", "baz"};
strings.Select(st => { Console.WriteLine(st); return 1; });
【问题讨论】:
-
你并没有真正用
Select枚举。 -
Select 推迟执行,直到实际需要结果。
-
Select 将序列中的每个元素投射到一个新的形式中,也就是说,您可以使用它来将集合元素转换为另一种类型。
-
+1 给 Gert 和 jrajva。尝试在
Select之后添加.ToList() -
@JensKloster:或者
Count(),这样可以避免实际创建新列表...