Linq等同于Ruby中的map! or collect!方法是什么?
a = [ "a", "b", "c", "d" ]
a.collect! {|x| x + "!" }
a #=> [ "a!", "b!", "c!", "d!" ]
我可以通过使用foreach迭代集合来完成此操作,但我想知道是否有更优雅的Linq解决方案。
答案 0 :(得分:38)
地图=选择
var x = new string[] { "a", "b", "c", "d"}.Select(s => s+"!");
答案 1 :(得分:24)
高阶函数map
最好用Enumerable.Select表示,Enumerable.Aggregate是System.Linq
中的扩展方法。
如果您感到好奇,其他高阶函数会突然出现:
reduce ->
Enumerable.Where
filter ->
{{3}}