Problem z dodawaniem do listy c#

Problem z dodawaniem do listy c#
A1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Witam, napisałem sobie krótki program w C# który miał dodawać to co poda użytkownik do listy.

Kopiuj
public static List<Osoba> Lista;
public static void pobierz()
        {
            string imie;
            string nazwisko;

            Lista = new List<Osoba>();
            imie = Console.ReadLine();
	    nazwisko = Console.ReadLine();
            Lista.Add(new Osoba(imie, nazwisko));
	}

Mam z tym takim problem że każdorazowe wywołanie metody nadpisuje to co zostało podane wcześniej (w rezultacie wszystko zapisuje się do [0], a chciałbym żeby za każdym razem dodawało się jako nowy obiekt listy). Proszę o pomoc.

UB
  • Rejestracja: dni
  • Ostatnio: dni
0

Dzieje się tak bo za każdym razem przypisujesz do Lista nową listę. Jebnij definicję globalnie
public static List<Osoba> Lista = new List<Osoba>();
i po problemie

A1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0
ubuntuser napisał(a)

Dzieje się tak bo za każdym razem przypisujesz do Lista nową listę. Jebnij definicję globalnie
public static List<Osoba> Lista = new List<Osoba>();
i po problemie

Bardzo dziękuje za pomoc. Działa tak jak trzeba.

Mam kolejny problem:

Kopiuj
public static void serializacja()
        {
            FileStream fs = null;
            BinaryFormatter formater1 = new BinaryFormatter();
            fs = new FileStream("Lista_osob.dat", FileMode.OpenOrCreate);
            formater1.Serialize(fs, Lista);
            fs.Close();
        }

Czy to jest dobra metoda do zapisu do pliku ? Czy są lepsze/wydajniejsze ?

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.