c# - 从对象数组中检索属性数组

标签 c# linq

假设有以下类:

class Person
{
   public string FirstName {get;set;}
   public string LastName {get;set;}
}

假设我有一个 Person 对象列表或数组。有没有办法使用 LINQ 从所有数组元素中检索 FirstName 属性并返回一个字符串数组。我有一种感觉,我以前见过类似的东西。

希望这个问题是有道理的。

最佳答案

当然,很容易:

Person[] people = ...;
string[] names = people.Select(x => x.FirstName).ToArray();

除非你真的需要结果是一个数组,否则我会考虑使用 ToList()而不是 ToArray() ,并可能只是将其保留为延迟评估的 IEnumerable<string> (即只是调用Select)。这取决于您要对结果做什么。

关于c# - 从对象数组中检索属性数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6651744/

相关文章:

c# - 比较两个列表并使用 linq 返回不匹配的项目

c# - 将两个小数列表组合在一个数组中

c# - 如何从标志枚举中获取数值?

c# - 函数重载与可选参数

c# - 具有多个子查询的 Linq 查询

c# - 如何将谓词生成器与 linq2sql 和 OR 运算符一起使用

.net - 创建动态包含子查询的 Linq 表达式

linq - LINQ .Last、.Skip 等方法是否针对数组或 List<T> 进行了优化?

c# - 私有(private)方法和属性的 JetBrains Rider C# 命名风格

c# - 为什么我在开发环境中只会收到范围内的服务解析错误?