2017-10-17 10 views
0
 For x = 0 To n - 1 

     str = Lines(x, 0) 
     For g = 1 To 29 
      str = (str + Lines(x, g)) 
     Next 
     For y = 0 To 899 
      patternarr(y) = CInt(Mid(str, y + 1, 1)) 


     Next 
     Pattern(x) = patternarr 

    Next 

Pattern()はギザギザの整数配列です。 Patternarrは整数配列です。 これは、Patternarrがすべてのループを変化させ、xが1ずつ増加するループの一部です。 何らかの理由で、everyloopがPatten()のすべての配列をpatternarrに置き換えます。Jagged Arrayはすべての配列を変更し続ける

+0

は、もう少しコードを含めること。これは何が起こっているか見るのに十分ではありません。 – Darryl

+0

その小さなスニペットは私たちに多くを教えてくれません。おそらく、同じ配列をジグザグ配列に何度も格納していたでしょう。 [ask]を読んで[tour] – Plutonix

答えて

2

配列は参照型であるため、Patternの各要素は同じpatternarrへの参照を保持します。つまり、Pattern(x) = patternarrpatternarrのコピーを作成せず、既存のpatternarrを指しています。その結果、patternarrに変更するたびに、その変更はPatternのすべての要素に反映されます。あなたがPatternの各要素が独立することにしたい場合は、Patternでそれらを保存すると、あなたはpatternarrのコピーを作成する必要があります。

Pattern(x) = patternarr.Clone() 
関連する問題