Strukutra z listą

0

Witam,
mam pytanie jak odwołać się do elementu listy znajdującego się w strukturze:

 struct struktura
    {
        public List<int> R;
        public int NR;

        public struktura(int nr)
        {
            NR = nr;
            R = new List<int>();
        }
    }

kolejno mam:

struktura S;
S.NR = 10; //ok
S.R.Add(10); //błąd użycie prawdopodobnie nie przypisanego pola

Ktoś wie jak to zrobić prawidłowo?

i pytanie dodatkowe:
mam 8 parametrów, każdy z nich ma 4 elementy a każdy element może mieć od 1 do 8 pod elementów jak to najlepiej rozwiązać?

1

Nie wywołujesz konstruktora tej struktury, wiec masz niezainicjalizowaną listę.
Zamień

struktura S;
S.NR = 10;

na:

struktura S= new struktura(10);
0

A co jak mam w strukturze kilka list i każdej chce przypisać inne wartości i mają różne długości? Deklarując 10 to czemu tak naprawdę przypisuje to 10?

2

Po co używać struct?

Do not define a structure unless the type has all of the following characteristics:
(...)
It is immutable.
(...)

A ty masz w niej listy

0

A jak inaczej pogrupować dane:

  • grupa
    podgrupa &
    element +

& +++
& ++++
& +++++
& ++

  • ...
    ilość grup i podgrup stała, elementów różna dla różnych przypadków.
    Klasa to trochę przesada.
2

Weź pierwszą lepszą książkę do C#, poczytaj o klasach, poczytaj o strukturach, zrozum różnicę i przestań robić głupoty.
Przez pierwsze 10 lat programowania w C# nie masz potrzeby robienia struktur.

1 użytkowników online, w tym zalogowanych: 0, gości: 1