通过索引为arraylist中的项目赋值

时间:2014-07-31 11:12:51

标签: asp.net vb.net arraylist

我有这个VB.NET ArrayList对象,它工作得很好。我已经像这样构建了它。这是我用过的第一个。

Public Class MyObj
    Private _str1 As String
    Private _str2 As String

    Public Property Str1() As String
      Get
        Return _str1
      End Get
      Set(ByVal value As String)
        _str1 = value
      End Set
    End Property

     Public Property Str2() As String
       Get
         Return _str2
       End Get
       Set(ByVal value As String)
        _str2 = value
       End Set
     End Property   

     Public Sub New(ByRef pStr1 As String)
      _str1 = pStr1
     End Sub
 End Class

然后我开始这样做......

Dim MyObj1 As ArrayList = New ArrayList()
MyObj1.Add(New MyObj("myTestString"))

所以这一切都在以后工作。所以我打包了arraylist并将其存储在类级变量中。然后用另一种方法我抓住了我的arraylist。然后我想为_str2分配一个值。有没有人对如何解决这个问题有任何建议。我一直试图了解情况。这就是我的意思。

For i = 0 To MyObj1.Items.Count - 1
    MyObj1.Item(i)("Str2") = "tesstring2"
Next

1 个答案:

答案 0 :(得分:2)

正如Tim写的那样,最好使用List而不是旧的ArrayList。

进行设置,然后访问Str2实例的属性MyObj

Dim myList As New List(Of MyObj)
myList.Add(New MyObj("Hello"))

For i = 0 To myList.Count - 1
    myList(i).Str2 = "World"
Next

注意它是.Str2,而不是("Str2")

相关问题