C#Linq:从Object列表中返回一个多维数组

本文关键字:一个 数组 Object 列表 返回 C#Linq | 更新日期: 2023-09-27 18:20:56

假设您有一个Object person:的列表

private List<Person> lstPersons = new List<Person>();

其中人员定义为:

public class Person
{
      public string Name { get; set; }
      public int Age { get; set; }
      public string Mail { get; set; }
}

你能用Linq从上面提到的列表中返回一个多维数组吗?其中第一个维度是记录的索引,第二个维度是名称,第三个维度是电子邮件?

C#Linq:从Object列表中返回一个多维数组

您可以创建一个object[][],是的:

object[][] array = people.Select((p, index) => new object[] { index, p.Name, p.Mail })
                         .ToArray();

如果您想要object[,],据我所知,这对于常规LINQ是不可行的。

如果你有选择的话,我个人会使用另一种类型:

var projected = people.Select((p, index) => new { Index = index, p.Name, p.Mail })
                      .ToArray();

当然,这取决于你想对结果做什么。。。