C#和构造函数中的结构

时间:2012-02-05 23:37:01

标签: c# arrays constructor struct initialization

我有理想的数据表示如下:

LinkedList<T>[]

但是,你不能在泛型上做到这一点,所以我把它包装在一个结构中:

    public struct SuitList                      
    {
        LinkedList<T> aList;

        public SuitList()
        {
            aList = new LinkedList<T>();
        }
    }

现在,在我的课上我有

   SuitList[] myStructList;      //there is only 4 indices of myStructList

如何在类的构造函数中初始化aList?我尝试了如下:

myStructList = new SuitList[4];

for(int i = 0; i < 4; i++)
{
    myStructList[i] = new SuitList();
}

编译器给出了一个错误,指出Structs不能包含显式无参数构造函数。有更好的方法吗? 感谢您的帮助。

2 个答案:

答案 0 :(得分:7)

C#不是Java 你可以用泛型来做到这一点。

要回答你的问题,你应该创建一个类,而不是结构。

答案 1 :(得分:0)

你可以做到这一点,而不必是一个班级。

public struct SuitList<T>
    {
        LinkedList<T> aList;

        public SuitList(int nothing = 0)
        {
            aList = new LinkedList<T>();
        }
    }