Карта массивов С#/Сбор

В Ruby вы можете использовать метод map/collect для массива, чтобы изменить его:

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

Есть ли простой способ сделать это на С#?

Ответы

Ответ 1

a = a.Select( s => s + "!" ).ToArray();

Ответ 2

Я предпочитаю использовать ConvertAll, так как это быстрее, и я считаю более интуитивно понятным.

var a = a.ConvertAll(x => x + "!").ToArray();

Ответ 3

вы можете попробовать это

var a = new[] { "a", "b", "c", "d" };

a = a.Select(p => p + "!").ToArray();

Ответ 4

Yup, используя Linq (но это не изменит первоначальную коллекцию)

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