Можно ли добавить список в структуру? - PullRequest
6 голосов
/ 13 мая 2009

Можно ли добавить список в структуру?

public struct test
{
    public string x;
    list<string> y = new list<string>();
}

что-то подобное?

Я пытался, но я просто не понимаю

Ответы [ 4 ]

7 голосов
/ 13 мая 2009

Да, у вас может быть список в структуре, но вы не можете инициализировать его инициализатором поля, а вместо этого вы должны использовать конструктор.

struct MyStruct
{
    public List<string> MyList;
    public int MyInt;

    public MyStruct(int myInt)
    {
        MyInt = myInt;
        MyList = new List<string>();
    }
}
1 голос
/ 13 мая 2009

Я не эксперт в C #, но структура - это всего лишь прототип того, как будет выглядеть ваша память. Вы должны будете объявить структурную переменную, чтобы иметь возможность сделать «new list ()» и назначить ее переменной списка.

что-то вроде struct test a; a.y = новый список ();

Я никогда не программировал на C #, поэтому, пожалуйста, преобразуйте мой синтаксис C в C #.

1 голос
/ 13 мая 2009

struct может иметь конструктор, и вы можете создать экземпляр списка в конструкторе.

0 голосов
/ 13 мая 2009

Вы можете сделать это - объявить конструктор для структуры и создать экземпляр списка в конструкторе структуры. Вы не можете использовать инициализатор, как вы предложили в своем фрагменте кода.

...