正在创建实例化类对象的数组
本文关键字:对象 数组 实例化 创建 | 更新日期: 2023-09-27 18:21:06
所以我在C#应用程序中创建了一个类(myClass)。在处理此类的数组时,我一直认为必须编写一个循环来填充myClass对象的数组是很烦人的。我知道,当您创建一个枚举值数组时,该数组中已经填充了设置为默认值的枚举实例。
我想知道是否可以用一个类实现同样的功能,以便调用类似:
myClass[] myClassArray = new myClass[25];
将产生一个myClass对象数组,这些对象只是该类的空构造函数的实例。
试试这个:
MyClass[] myClassArray = Enumerable
.Range(0, 25)
.Select(i => new MyClass())
.ToArray();
这将创建类的25个实例,并将它们放入一个数组中。
我知道,当您创建一个枚举值数组时,该数组中已经填充了设置为默认值的枚举实例。
之所以会发生这种情况,是因为枚举基于作为值类型的整数类型,不能是null
。
初始化引用类型数组的最简单方法是按照所述进行循环(可以使用LINQ编写非常简短的语法)。
为什么不把烦人的循环封装在一个方法中呢?
public T[] CreateInstances<T>(int arrayLength) where T: new()
{
T[] result = new T[arrayLength];
for (int i=0; i<arrayLength; i++)
result[i] = new T();
return result;
}