Linq Map! или собирать! - PullRequest
       10

Linq Map! или собирать!

27 голосов
/ 31 марта 2009

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

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

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

Ответы [ 2 ]

38 голосов
/ 31 марта 2009

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

var x = new string[] { "a", "b", "c", "d"}.Select(s => s+"!");
24 голосов
/ 31 марта 2009

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

На случай, если вам интересно, другие функции более высокого порядка всплывают так:

reduce -> Enumerable.Aggregate
filter -> Перечислим. Где

...