pusta lista bez zwracania błędu

0

Heja!
Jak wypisać pustą listę? mam coś takiego

            Person n = new Person();
            n.naz = "cas";
            n.name = "asdas";
            Adress ad = new Adress("adress");
            Adress ad2 = new Adress("adress2");
            Adress ad3 = new Adress("adress3");
            /*n.lista.Add(ad);
            n.lista.Add(ad2);
            n.lista.Add(ad3);*/
            List<Adress> a = new List<Adress>();
            a = n.lista.ToList();
            
            Console.WriteLine(a[0].nazwa);
            Console.ReadLine();
 

w wypisywaniu mam indeks poza zasięgiem w innym projekcie null point exception
z góry dziękuję za pomoc

0

Przecież nie możesz zrobić a[0], ani a[1], ani a[666], skoro lista jest pusta!
ŻADEN indeks, nawet [0], nie jest prawidłowy, bo nie ma żadnego elementu.

Standardowe pętle:

for (int i=0; i<a.Length; i++)
    Console.WriteLine(a[i].nazwa);
foreach (Adress d in a)
    Console.WriteLine(d.nazwa);
int i = 0;
while (i<a.Length)
{
    Console.WriteLine(a.nazwa);
    i++;
}

będą działać prawidłowo, czyli dla pustej listy nie wykonają się ani razu.

PS. po angielsku nie pisze się “adress” tylko “address”, względnie “a dress”.

0

rozumiem, ale gdzy robię sobie toList() wiem że czasem obiekt może mieć pustą tą listę tylko nie wiem jak obsłużyć to żeby mi aplikacja nie wywalała błędu, zna moze ktoś odpowiedź?

0

E... sprawdzaj ilość elementów w liście? Wydaje mi się, że albo masz błąd projektowy, albo starasz się odnaleźć błąd tam, gdzie go nie ma.

0

rozumiem ale gdy daję sobie instancja.lista.ToList() to w tym miejscu dostaje null point exception gdy lista jest pusta a może dojść do takiej sytuacji, a nie chciałbym przerywać działaia aplikacji

0

To sprawdzaj wcześniej czy instancja.lista nie jest czasem null

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