Подтвердить что ты не робот

Линк Карта! или собирать!

Что такое Linq, эквивалентный карте ! или собирать! в Ruby?

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

Я мог бы сделать это, перебирая коллекцию с помощью foreach, но мне было интересно, было ли более элегантное решение Linq.

4b9b3361

Ответ 1

Карта = Выбрать

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

Ответ 2

Функция более высокого порядка map лучше всего представлена ​​в Enumerable.Select, которая является методом расширения в System.Linq.

Если вам интересно, другие функции более высокого порядка выходят следующим образом:

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