C# 使用默认构造函数初始化数组
我是否可以使用默认构造函数(或者更好,使用指定的构造函数)初始化一个类数组,而不必经过循环 那么,假设我有一个C# 使用默认构造函数初始化数组,c#,arrays,C#,Arrays,我是否可以使用默认构造函数(或者更好,使用指定的构造函数)初始化一个类数组,而不必经过循环 那么,假设我有一个Person数组: var arr = new Person[10]; 现在,我应该通过循环所有人来初始化每个人 foreach(var p in arr) p = new Person(); 我可以避免循环吗?对于任意大小的数组,确实无法避免循环。您可以这样做: var arr = new Person[] {new Person(),new Person()...};
Person
数组:
var arr = new Person[10];
现在,我应该通过循环所有人来初始化每个人
foreach(var p in arr)
p = new Person();
我可以避免循环吗?对于任意大小的数组,确实无法避免循环。您可以这样做:
var arr = new Person[] {new Person(),new Person()...};
Enumerable.Range(0,10).Select(i=>new Person()).ToArray();
但这也使用了underneat循环。从@JonSkeetNote看一看,您的循环不会编译,但我们接受您的观点。(分配给循环变量不起作用,你需要一个“for”循环或类似的东西。)对于中到大的数组,这看起来比循环更糟糕。@Pierre Luccinoult对此没有异议,问题是如何避免循环。