структуры в C # и конструкторы - PullRequest
0 голосов
/ 06 февраля 2012

У меня есть данные, которые в идеале я бы хотел представить следующим образом:

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 ]

7 голосов
/ 06 февраля 2012

C # - это не Java.
Вы можете сделать это просто с помощью дженериков.

Чтобы ответить на ваш вопрос, вы должны создать класс, а не структуру.

0 голосов
/ 29 июля 2015

Вы можете сделать это без необходимости быть классом.

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

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