2017-03-14 3 views
0

ich versuche, eine interne Klasse innerhalb einer Klasse zu initialisieren, zu erstellen und es dann als erster Wert initialisieren = 0 i diesen.NPE beim Versuch, eine interne Klasse Array

class Vehicle { 
     internal class AGVSteps { 
      public double X { get; set; } 
      public double Y { get; set; } 
     } 

     private AGVSteps[] steps ; 
     public AGVSteps [] Steps { 
      get { return this.steps; } 
     } 

     public Vehicle() { //constructor 
      this.steps = new AGVSteps[2000]; 
      this.steps[0].X = 0; //CRASHES HERE 
      MessageBox.Show(this.steps[0].X + ""); 
      for (int i = 0; i < 2000; i++) { 
       // this.steps[i].X = -1; 
       //this.steps[i].Y = -1; 
      } 
     } 

} 

keine Idee? Ich bekomme einen NPE-Fehler. Danke!

Antwort

1

steps ist ein Behälter zu AGVSteps Objekte. Sie müssen die AGVSteps selbst initialisieren

this.steps = new AGVSteps[2000]; 
for (int i = 0; i < steps.Length; i++) { 
    steps[i] = new AGVSteps(); 
} 
+0

ah vielen Dank ... mein Geist scheint tot zu sein –

Verwandte Themen