Strukutra z listą

AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 206
0

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

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

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

kolejno mam:

Kopiuj
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ć?

kzkzg
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 935
1

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

Kopiuj
struktura S;
S.NR = 10;

na:

Kopiuj
struktura S= new struktura(10);
AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 206
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?

WeiXiao
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5226
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

AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 206
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.
somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.