2017-03-14 10 views
0

クラス内に内部クラスを作成して、最初の値= 0として初期化しようとしています。 これがあります。内部クラスの配列を初期化しようとしたときのNPE

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; 
      } 
     } 

} 

NPEエラーが発生しました。ありがとうございます!

答えて

1

stepsは、AGVStepsオブジェクトのコンテナです。 AGVSteps自体を初期化する必要があります

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

ああありがとうございます...私の心は死んでいるようです –

関連する問題