c# - Writing several object values from a Arraylist to Console -
im writing console application , got problem writing objects property values console. got class propertys cant reach them normal list. example, normal list loop propertys examples (carbrand), , list name cars.
for (int = 0; < cars.length; i++) { console.writeline(cars[i].carbrand) }
but arraylist doesnt seem work. why that? ive been looking around , different methods without getting out it...
code:
static void main(string[] args) { int menyval; arraylist bilar = new arraylist(); bil nybil = new bil(); string ägareefter; { console.writeline("\nvälkommen till dimmans bilrace!"); console.writeline("vi har {0} bilar race nu.", nybil.irace); console.writeline("\nvälj något alternativ menyn nedan, klicka sedan enter:"); console.writeline("\n1. lägg till en bil först."); console.writeline("2. lägg till en bil sist."); console.writeline("3. lägg till en bil efter en annan bil."); console.writeline("4. visa alla bilar listan."); console.writeline("0. avsluta programmet."); console.write("\nditt val:"); menyval = int.parse(console.readline()); switch (menyval) { case 0: console.writeline("programmet kommer nu avslutas. tryck på valfri knapp."); console.readkey(); break; case 1: console.writeline("\nlägg till en bil först. skriv in det som efterfrågas och avsluta med enter."); console.writeline("ange ägarens namn:"); nybil.Ägarnamn = console.readline(); console.writeline("ange tillverkarens namn:"); nybil.tillverkarnamn = console.readline(); console.writeline("ange modellens namn:"); nybil.modellnamn = console.readline(); bilar.insert(0, nybil); nybil.läggtillbilirace(1); console.writeline("nu har bilen lagts till racet. klicka på valfri knapp för att fortsätta."); console.readkey(); break; case 2: console.writeline("\nlägg till en bil sist. skriv in det som efterfrågas och avsluta med enter."); console.writeline("ange ägarens namn:"); nybil.Ägarnamn = console.readline(); console.writeline("ange tillverkarens namn:"); nybil.tillverkarnamn = console.readline(); console.writeline("ange modellens namn:"); nybil.modellnamn = console.readline(); bilar.add(nybil); nybil.läggtillbilirace(1); console.writeline("nu har bilen lagts till racet. klicka på valfri knapp för att fortsätta."); console.readkey(); break; case 3: console.writeline("\nlägg till en bil efter en annan bil. skriv in det som efterfrågas och avsluta med enter."); console.writeline("följande bilar har vi:"); (int = 0; < bilar.count; i++) { console.writeline("[bil " + + ": " + "Ägare = " + ((bil)bilar[i]).Ägarnamn + ", " + "tillverkare = " + ((bil)bilar[i]).tillverkarnamn + ", modell = " + ((bil)bilar[i]).modellnamn + "]"); } console.write("\nange namnet på ägaren som du vill placera den nya bilen efter:"); ägareefter = console.readline(); break; case 4: if (bilar.count != 0) { console.writeline("\nvisar alla bilar listan:"); (int = 0; < bilar.count; i++) { console.writeline("[bil " + + ": " + "Ägare = " + ((bil)bilar[i]).Ägarnamn + ", " + "tillverkare = " + ((bil)bilar[i]).tillverkarnamn + ", modell = " + ((bil)bilar[i]).modellnamn + "]"); } } else { console.writeline("\nlistan innehåller inga bilar än. klicka på valfi knapp för att komma till startmenyn"); console.readkey(); } break; default: console.writeline("\n fel! ange en siffra mellan de angivna värdena som finns. tryck valfri knapp för att fortsätta."); console.readkey(); break; } } while (menyval != 0); } }
}
class code:
class bil { private string _ägarnamn; private string _tillverkarnamn; private string _modellnamn; private int _irace; arraylist billista = new arraylist(); public bil() { _ägarnamn = ""; _tillverkarnamn = ""; _modellnamn = ""; } public bil(string ägarnamn, string tillverkarnamn, string modell) { _ägarnamn = ägarnamn; _tillverkarnamn = tillverkarnamn; _modellnamn = modell; } public string Ägarnamn { { return _ägarnamn; } set { _ägarnamn = value; } } public string tillverkarnamn { { return _tillverkarnamn; } set { _tillverkarnamn = value; } } public string modellnamn { { return _modellnamn; } set { _modellnamn = value; } } public int irace { { return _irace; } set { _irace = value; } } public void läggtillbilirace(int i) { irace += i; }
best regards.
arraylist non generic type , elements in objects. should cast arraylist first:
foreach (var car in cars.cast<car>()) { console.writeline(car.carbrand) }
Comments
Post a Comment