开发者

C# Array Map/Collect

In Ruby you can use the map/collect method on an array to modify it:

a = [ "a开发者_StackOverflow中文版", "b", "c", "d" ]
a.collect! {|x| x + "!" }
a                            #=>  [ "a!", "b!", "c!", "d!" ]

Is there a simple way to do this in C#?


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


I prefer using ConvertAll since it's quicker and I believe more intuitive.

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

Since I prefer the naming, I personally use my own Enumerable Map Extension methods which is available to all IEnumerable<T> Types, guards against null and follows the standing naming in other languages for functinoal projection.

var to = a.Map(x => x + "!");


you may try this

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

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


Yup, using Linq (but this won't modify the original collection)

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜