私は以下のような構造を使用しています。私は 'Persons' ArrayListをループし、LastNamesをそのまま残しながら、給与を100に設定する必要があります。VB.Net ArrayListのすべてのエントリを更新するには?
Structure Person
Dim LastName As String
Dim salary As Integer
End Structure
public class Test
public Shared Sub Main
Dim Persons As New ArrayList
Dim Person As New Person
With Person
.LastName = "Smith"
.salary = 50
End With
Persons.Add(Person)
With Person
.LastName = "Jones"
.salary = 20
End With
Persons.Add(Person)
With Person
.LastName = "Brown"
.salary = 80
End With
Persons.Add(Person)
End Sub
End class
単純なFor Eachループはここでは機能しません。私は、それぞれの人物を第二の一時的な編者にコピーして元のアライリストのエントリを削除することができましたが、それぞれの人の給料をどのように変更するのかを把握することはできず、彼らが元々あったような価値観。
適切なプロパティを持つクラスは、ここの構造よりも適切です。同様に、型指定されていないArrayListの代わりに 'List(Of T)'のような型付きのコレクションです。その後、ループ – Plutonix
@Plutonixは何を言った。 ArrayListは、C#がジェネリックを持たない日に属します。 Listの方が推奨されていません。 ArrayListを使用する古いAPIとのインタフェースが必要な場合を除いて、.NET> = 2.0をターゲットとする新しいコードではArrayListを使用しないでください。 http://stackoverflow.com/a/2309699/832052 –
djv
[クラスと構造の選択](https://msdn.microsoft.com/en-us/library/ms229017(v=vs.110).aspx) – Plutonix