Klasa jako tablica

0

Witam, mam tutaj prosty kod ktory niestety nie dziala.

Chciclabym stworzyc prosta tablice obiektow skladajacych sie z klasy Diary gdzie bym dodawal nazwe dzienniczka dla konkretnego ucznia [konkretnej instancji]. Do tego uzylem petli for.

Ktora nie dziala, oto ona:

            Console.Write("Wprowadz liczbe uczniow"); int liczbaUczniow = int.Parse(Console.ReadLine());
            for (int i = 0; i <= liczbaUczniow; i++)
            {
                Diary diary[i] = new Diary();
            }
           

Jak z obiektu zrobic tablice oraz czy sie da, chcialbym wsadzic obiekt w petle for i zrobic z niego pare obiektow jak to zrobic.

0

nie uzywaj tablic (watpie zebys mial jakikolwiek argument za, by je uzywac). Uzyj mylist = new List<Diary>()

wtedy robisz mylist.Add( new Diary)

a co Ty chcesz osiagnac to bedzie tak (uwierz mi, zamien to na liste tak jak Ci napisalem wyzej

Console.Write("Wprowadz liczbe uczniow"); int liczbaUczniow = int.Parse(Console.ReadLine());
var diaryArray = new Diary[liczbaUczniow];
for (int i = 0; i < liczbaUczniow; i++)
{
  diaryArray[i] = new Diary();
}
0

Warto znac obie metody, dzieki skorzystalem z tej pierwszej, znaczy sie z tablic, jak juz ogarne kolekcje bede probowal w ten sposob

0

zrobilem jak napisales, zwrocilo mi System.IndexOutOfRangeException: „Indeks wykraczał poza granice tablicy.”

1

Powinno być i < liczbaUczniow.

1

Powinno być i < diaryArray.Length, bo wtedy nie da się zrobić głupiego błędu.

0

Zrobilem xD nie wiem jak ale dziala caly program buhahahaha :D

1

Najpierw trzeba utworzyć tablicę a potem załadować do niej elementy .
Nie jestem zwolenikiem używania słówka kluczowego var jesli nie jest to konieczne

0

Indeks tablicy zaczyna się od zera czyli powinno być < a nie <= :)

0

@fasadin: A podal bys tez przyklad jak taki kod napisac w Listach? Dzieki

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