考虑以下常见的 JavaScript 构造
var ages = people.map(person => person.age);
给出期望的结果,这是一个年龄数组。
这在 C# 中的等效项是什么?请包括一个简单的例子。文档指示 select
或可能的 selectAll
但我找不到在线示例或任何其他可以粘贴并起作用的 SO 问题。
如果可能,给出一个例子,将下面的数组 {1,2,3,4}
变成下面的 {'1a','2a','3a',' 4a'}
。对于每个元素,将“a”附加到末尾,将其从整数转换为字符串。
最佳答案
这称为投影,称为 Select
在林克。这不会返回一个新数组(就像 JavaScript 的 .map
那样),而是返回一个 IEnumerable<T>
。 .您可以使用 .ToArray
将其转换为数组.
using System.Linq; // Make 'Select' extension available
...
var ages = people.Select(person => person.Age).ToArray();
Select
适用于所有 IEnumerable<T>
哪个数组实现。您只需要 .NET 3.5 和一个 using System.Linq;
声明。
对于您的第二个示例,请使用类似这样的内容。请注意,没有使用数组 - 只有序列。
var items = Enumerable.Range(1, 4).Select(num => string.Format("{0}a", num));
关于javascript - C# 中的 array.map() 示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32959468/