正在创建实例化类对象的数组

本文关键字:对象 数组 实例化 创建 | 更新日期: 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;
}