Linq地图!还是收集!

时间:2009-03-31 17:23:19

标签: ruby linq map collect

Linq等同于Ruby中的map! or collect!方法是什么?

   a = [ "a", "b", "c", "d" ]
   a.collect! {|x| x + "!" }
   a             #=>  [ "a!", "b!", "c!", "d!" ]

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

2 个答案:

答案 0 :(得分:38)

地图=选择

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

答案 1 :(得分:24)

高阶函数map最好用Enumerable.Select表示,Enumerable.AggregateSystem.Linq中的扩展方法。

如果您感到好奇,其他高阶函数会突然出现:

reduce -> Enumerable.Where
filter -> {{3}}