Entwickler-Ecke

WinForms - Problem mit Objektinstanz


Rolf1981 - So 08.01.12 14:01
Titel: Problem mit Objektinstanz
Hallo zusammen,

leider habe ich mal wieder ein kleines (Anfänger?)problem. Für eine kleine Hilfe und/oder Korrektur meines Codes wäre ich sehr dankbar! :-)

Für ein kleines Spiel benötige ich eine Klasse namens Dinosaurier. In ihr sollen sämtliche Eigenschaften der Tiere aufgelistet werden.

1. Das habe ich mit folgendem Code gemacht:


C#-Quelltext
1:
2:
3:
4:
5:
public class Dinosaurier  // Hier wird die Klasse der Dinosauerier definiert
        {
            public string Name;
            public int typ, x, y, rasse, speed, zustand;
        }



2. Anschließend habe ich daraus Objekte als Arrey kreiert mit:


C#-Quelltext
1:
Dinosaurier[] Dino = new Dinosaurier[5001];                    




3. Dann habe ich in einer Schleife den Objekten "Dino" Eigenschaften zugewiesen bzw. diese zuerst auf Null gesetz:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
for (int i = 0; i == 5001; i=i++) //Dinos initialisieren und mit Werten versehen
                {
                Dino[i] = new Dinosaurier(); 
                Dino[i].typ = 0;
                Dino[i].x = 0;
                Dino[i].y = 0;
                Dino[i].rasse = 0;
                Dino[i].speed = 0;
                Dino[i].zustand = 0;                           
                }


4. Nun will ich einem Dino einen Wert zweisen, Beispiel


C#-Quelltext
1:
Dino[1].x = 200;                    


Dabei erhalte ich folgende Fehlermeldung:
"Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt".

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt


Christian S. - So 08.01.12 14:04

Hallo!

Deine Schleife ist falsch. Die Bedingung darin muss angeben, was ein gültiger Wert für die Schleifenvariable ist, nicht wann die Schleife abbrechen soll.

Grüße,
Christian


Rolf1981 - Mo 09.01.12 10:54

Hi,

danke!

O, Mann, ich bin ... ;-)
Hatte die Schleife vorher an anderer Stelle verändert, dann kopiert und diese Änderung nicht mehr rückgängig gemacht. Da schaut man sich den Code 100mal an und sucht den Fehler, und übersieht soetwas...