考虑以下常见的 JavaScript 构造
var ages = people.map(person => person.age);
给出期望的结果,这是一个年龄数组。
这在 C# 中的等效项是什么?请包括一个简单的例子。文档指示 select
或可能的 selectAll
但我找不到在线示例或任何其他可以粘贴和工作的 SO 问题。
如果可能,请给出一个示例,将以下数组 {1,2,3,4}
转换为以下 {'1a','2a','3a','4a'}
。对于每个元素,将“a”附加到末尾,将其从 Integer 转换为 String。
原文由 Code Whisperer 发布,翻译遵循 CC BY-SA 4.0 许可协议
这称为投影,在 LINQ 中称为
Select
。这不会返回一个新数组(就像 JavaScript 的.map
那样),而是返回一个IEnumerable<T>
。您可以使用.ToArray
将其转换为数组。Select
适用于数组实现的所有IEnumerable<T>
。您只需要 .NET 3.5 和using System.Linq;
语句。对于你的第二个例子,使用这样的东西。请注意,没有使用数组——只有序列。