如何从vb.net中的对象数组元素构建一个新数组?

时间:2012-08-23 19:48:44

标签: asp.net .net vb.net arrays

我正在使用vb.net我有以下对象数组,我将通过提取所有真值来为其命名并将其添加到数组中 这是对象数组 enter image description here

这是我到目前为止所尝试的:

  Dim myarray() As String
        Dim number As Integer = 0
        If resultArray(0).BolComment Then

            myarray(number) = "comment"
            number = number + 1
        End If
        If resultArray(0).BolComplete Then

            myarray(number) = "complete"
            number = number + 1
        End If
        If resultArray(0).BolFinished Then

            myarray(number) = "Finished"
            number = number + 1
        End If
        If resultArray(0).BolOutCome Then

            myarray(number) = "OutCome"
            number = number + 1
        End If
        If resultArray(0).BolStatred Then

            myarray(number) = "Started"
            number = number + 1
        End If
        If resultArray(0).BolUser Then

            myarray(number) = "User"
            number = number + 1
        End If

这给了我一个错误:该变量在

之前使用过

问题如何将具有true值且push的所有项目提取到新数组with,为其提供新的{{1} }} 谢谢

1 个答案:

答案 0 :(得分:2)

我认为你的问题是你没有将数组初始化为特定的大小,也没有在每次添加新项目时重新调整它的大小。但是,最好只使用List(T)类:

Dim list As New List(Of String)()
If resultArray(x).BolComment Then
    list.Add("comment")
End If
If resultArray(0).BolComplete Then
    list.Add("complete")
End If
If resultArray(0).BolFinished Then
    list.Add("Finished")
End If
If resultArray(0).BolOutCome Then
    list.Add("OutCome")
End If
If resultArray(0).BolStatred Then
    list.Add("Started")
End If
If resultArray(0).BolUser Then
    list.Add("User")
End If

然后,如果您需要它作为实际数组,请执行以下操作:

Dim myarray() As String = list.ToArray()