Linq地图!还是收集!

Jas*_*ell 26 ruby linq map collect

什么是Linq相当于地图!还是收集!Ruby中的方法?

   a = [ "a", "b", "c", "d" ]
   a.collect! {|x| x + "!" }
   a             #=>  [ "a!", "b!", "c!", "d!" ]
Run Code Online (Sandbox Code Playgroud)

可以通过使用foreach迭代集合完成此操作,但我想知道是否有更优雅的Linq解决方案.

Qui*_*son 37

地图=选择

var x = new string[] { "a", "b", "c", "d"}.Select(s => s+"!");
Run Code Online (Sandbox Code Playgroud)


And*_*are 24

高阶函数map最好用Enumerable.Select表示,它是一个扩展方法System.Linq.

如果你好奇,其他更高阶的函数会像这样突破:

reduce -> Enumerable.Aggregate
filter -> Enumerable.Where