【发布时间】:2020-02-14 14:52:56
【问题描述】:
我怎样才能以比以下命令方式更实用的方式创建和填充数组?
命令式代码
IList<Customer> customers = new List<Customer>();
// my input data is array of strings
string[] ids = {"4", "6"};
string[] names = {"John Doe", "Jane Doe"};
for (var i = 0; i<ids.Length; i++)
{
customers.Add(new Customer
{
Id = Int32.Parse(ids[i]),
Name = names[i],
});
}
客户类
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
}
【问题讨论】:
-
也许我理解错了,但期望的结果是什么?
-
确实,
functional way在这里是什么意思?Zip或Zip().ToArray()看起来更“实用”,但它们仍然生成和修改数组 - 由于缓冲区重新分配,可能有很多数组。Zip()单独是functional方式,因为它产生所需项目的序列而不是序列。该序列可以被其他需要这种序列的函数使用,尤其是 LINQ 函数 -
顺便说一句
List<T>不是数组。