geht foreach auch mit Objekten (Klassen)??
-
Hallo,
ich habe eine Klasse Mannschaft, und eine Klasse Tabelle!
In der Klasse Tabelle ist ein Array der Mannschaftklasse:
(Auszug)class Tabelle { private Mannschaft[] table = new Mannschaft[18]; public void DrawTable() { Console.WriteLine("Position|-------------------|Mannschaft"); int i = 1; foreach (Mannschaft man in table) { Console.WriteLine("{0}|-------------------|{1}", i, man.Name); ++i; } }
die Ausgabe ist Korrekt, aber es stürtzt dann ab, und sagt das eine Objektreferenz einen Verweis brauch, das ist mir auch klar...
Nur wie bekomm ich auch man einen verweis?
Oder geht für soetwas die foreach schleife nciht?
-
Wenn das Beispiel dort nicht extrem gekürzt ist und Mannschaft eine Klasse ist, dann ist das Problem, dass Du ein Array von 18 Nullreferenzen hast. Der Zugriff auf man.Name in der Schleife schlägt daher fehl, da man == null ist.
Das hat aber rein garnichts mit foreach zu tun. Wenn Du den Fehler vermeiden möchtest dann weise den Array-Elementen bitte Objekte zu (mit new Mannschaft)
-
War auch mein erster Gedanke, allerdings sagt er ja, dass die Ausgabe korrekt sei.
Daher wird der Fehler wahrscheinlich ganz wo anders sein.Jockel
-
Vielleicht beschreibst Du mal die exakte Fehlerausgabe, bisher hab ich auch nur aufgrund des geposteten Codes geraten. Wo wird die NullReferenceException gemeldet und wie sieht die Bildschirmausgabe aus? Was verstehst Du unter "korrekt"? Wird dort ein Name ausgegeben? Wenn ja welcher und woher kommt der?
-
Du Idi hast 18 Mannschaften die null sind. Wie der Vorposter schon sagte....erstmal die neuen Mannschaften richtig anlegen!