Witam, mam problem konkretnie z tym kawałkiem kodu.
StreamReader reader = new StreamReader(sciezka);
string text;
do
{
text = reader.ReadLine();
string[] temp = text.[b]Split[/b](';');
Naprawy.naprawy.Add(new Naprawy(temp[0], temp[1], temp[2], temp[3], temp[4], temp[5]));
} while (text != null);
reader.Close();
Cała sprawa rozchodzi się o Split. Nie chce mi za nic podzielić tak jak powinien. Po odpaleniu jest błąd w nim : Odwoływanie do obiektu nie zostało ustawione na wystąpienie obuektu. Jeśli wyrzuce Splita z kodu wszystko działa tak jak ma. Proszę o pomoc.
Sprawdzasz warunek, czy text != null PO odwołaniu się do text, co i tak gucio daje - text w którymś momencie będzie nullem i rzuci NullReferenceException. Zamień to na pętle while:
Po zmienieniu pętli niby działa, ale tylko w 1 przypadku kiedy są 2 linijki w pliku, i w zasadzie dodaje mi tylko tą 2. Jeśli dodam następną linijke do pliku .txt ten sam błąd co wcześniej ;/
PS. z tym i nie bardzo rozumiem o co Ci chodzi gdyż nie ma tam i tylko ;
Odczyt jest dobry, pod warunkiem, że plik ma dobry format(i kod jest taki jak podałeś wcześniej, uwzględniając moje poprawki). Jeśli któraś linijka nie będzie miała 5 “części”(tzn. nie będzie miała takiego formatu A;B;C;D;E), to będzie IndexOutOfRangeException.
No nie jest dobry, bo tak jakby skopiowałeś to co dałem bez myślenia. Teraz dodaje co drugą linijkę z pliku i wymaga, by była ich parzysta ilość(hint: 2x ReadLine w jednym obiegu pętli).