在 C# 中,如何基于对象数组创建数组数组?

Ste*_*ev0 -2 c# arrays

我有一个包含 4 个对象的数组。这些对象都具有相同的类型并具有许多字段。我想从每个对象中提取字段“名称”、“代码”和“日期”,将这些值放入一个新数组中(每个对象一个新数组),然后将这些新数组放入一个数组中。所以我最终会得到一个像这样的数组

[
   ["Bob","001","1/19/2021"],
   ["Tom","002","1/17/2021"],
   ["Dave","003","1/14/2021"],
   ["John","004","1/9/2021"]
]
Run Code Online (Sandbox Code Playgroud)

Ale*_*dro 5

使用 LINQ 非常简单:

//Assuming you have a variable "list" with your objects
var list = ........

var newList = list.Select(x => new[] { x.Name, x.Code, x.Date }).ToArray();
Run Code Online (Sandbox Code Playgroud)

(可耻的是没有测试,纯记事本开发)

第一个Select为每个对象创建一个新数组,其中包含 3 个属性中的 3 个元素。最后的ToArray调用创建一个包含 的结果的新数组Select,即每个对象都变成了一个数组。