问题
What is the Linq equivalent to the map! or collect! method in Ruby?
a = [ "a", "b", "c", "d" ]
a.collect! {|x| x + "!" }
a #=> [ "a!", "b!", "c!", "d!" ]
I could do this by iterating over the collection with a foreach, but I was wondering if there was a more elegant Linq solution.
回答1:
Map = Select
var x = new string[] { "a", "b", "c", "d"}.Select(s => s+"!");
回答2:
The higher-order function map
is best represented in Enumerable.Select which is an extension method in System.Linq
.
In case you are curious the other higher-order functions break out like this:
reduce ->
Enumerable.Aggregatefilter ->
Enumerable.Where
来源:https://stackoverflow.com/questions/702123/linq-map-or-collect