Hej,
pierwsza sprawa to z kodu który wkleiłeś nie wynika że problem.
bo masz inicjalizowaną listę, a następnie do niej dodajesz nowy samochod za pomocą pustego konstruktora.
Czy możesz wrzucić metodę która ci wypisuje ten string BMW m5 numer pojazdu: 33, numer indeksu x
W jaki sposób ustawiasz właściwości dla pojazdu?
Wypisywanie elementów w liście:
case 3: // wyświetlanie listy wszystkich dodanych samochodów
Console.WriteLine($"Liczba wszystkich samochodów: {listaSamochodow.Count}");
foreach (Samochody lista in listaSamochodow)
{
Console.WriteLine($"{marka.ToUpper()} {model.ToUpper()}, numer pojazdu: {numerPojazdu}, numer indeksu: {listaSamochodow.IndexOf(lista)}");
}
goto wyborOpcji;
Metoda, która ustawia właściwości dla pojazdu:
public virtual void WprowadzDane()
{
SprawdzDane(ref marka, "Marka pojazdu: ");
SprawdzDane(ref model, "Model pojazdu: ");
SprawdzDane(ref numerPojazdu, "Numer pojazdu: ");
}
W metodzie, która wprowadza dane do pojazdu, jest wywoływana metoda, która ma sprawdzić dane (np. czy ktoś do numeru pojazdu nie wpisał tekstu). Tutaj przykład dla numerPojazdu:
public void SprawdzDane(ref uint dane, string napis)
{
bool powodzenie;
do
{
powodzenie = false;
try
{
Console.Write(napis);
dane = uint.Parse(Console.ReadLine());
}
catch (Exception)
{
WyswietlBlad("Błędne dane!");
powodzenie = true;
}
} while (powodzenie);
}
Ogólnie to użytkownik ma wprowadzać dane dla pojazdu