For Eachループを使用した場合の文字列配列の動作を知りたいです。次のコードを検討してください。
Dim StringArray(499) As String
'fill in each element with random string
Dim count As Int32
Dim current As String
For Each current in StringArray
'do something with current
count = count + 1
If count = 10
Exit For
End If
Next
're-enter the StringArray again
count = 0
For Each current in StringArray
'do something with current
count = count + 1
If count = 10
Exit For
End If
Next
上記のコードに示されているように、For Each ループを使用して StringArray に 2 回アクセスする必要がある場合、各For Each ループで 10 個の要素しか使用していないにもかかわらず、StringArrayのすべての要素が 2 回読み込まれるというのは本当ですか? パフォーマンスの観点から、String 配列をデータ構造として使用して、メソッド内で 20 回など、複数回アクセスする必要がある文字列のリストを格納することをお勧めしますか?