首页 > 解决方案 > 我如何使用 for 循环初始化 T[] arr 类型的数组

问题描述

如何为这个泛型类初始化数组请帮忙

 public class MarvellousArray<T>
 {
    private T[] array;

    public MarvellousArray(int size)
    {
        array = new T[size];
    }
    public void Accept()
    {

        var i = 0;
        for (i = 0; i < array.Length; i++)
        {

        }
    }
    public void Display()
    {

    } 
}

标签: c#.net

解决方案


如果我明白你的意思......如果你需要,你可以这样做new T

public class MarvellousArray<T>
   where T : new()
{
   private readonly T[] _array;

   public MarvellousArray(int size)
   {
      _array = new T[size];

      for (var i = 0; i < size; i++)
         _array[i] = new T();

   }

   ...

或者只是default用于null引用类型

public class MarvellousArray<T>
{
   private readonly T[] _array;

   public MarvellousArray(int size)
   {
      _array = new T[size];

      for (var i = 0; i < size; i++)
         _array[i] = default(T);

   }

   ...

推荐阅读