C#数组映射/收集

Rya*_*wis 15 c# ruby c#-4.0

在Ruby中,您可以使用数组上的map/collect方法对其进行修改:

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

在C#中有一种简单的方法吗?

Tan*_*lax 28

a = a.Select( s => s + "!" ).ToArray();
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这会创建一个新数组,并且不会修改原始数组,如OP的问题所述. (3认同)

myt*_*thz 5

我更喜欢使用ConvertAll,因为它更快,我相信更直观.

var a = a.ConvertAll(x => x + "!").ToArray();
Run Code Online (Sandbox Code Playgroud)