Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 仅包含一个元素的数组列表_Arrays_Vb.net_Arraylist - Fatal编程技术网

Arrays 仅包含一个元素的数组列表

Arrays 仅包含一个元素的数组列表,arrays,vb.net,arraylist,Arrays,Vb.net,Arraylist,您好,我正在尝试执行以下代码段 dim lst(10) as string dim arlist As New ArrayList Dim dr As SqlDataReader = cmd.ExecuteReader() While dr.Read() lst(0) = dr(0).ToString() lst(1) = dr(1).ToString() ls

您好,我正在尝试执行以下代码段

        dim lst(10) as string
        dim arlist As New ArrayList
        Dim dr As SqlDataReader = cmd.ExecuteReader()
        While dr.Read()
            lst(0) = dr(0).ToString()
            lst(1) = dr(1).ToString()
            lst(2) = dr(2).ToString()
            lst(3) = dr(3).ToString()
            lst(4) = dr(4).ToString()
            lst(5) = dr(5).ToString()
            lst(6) = dr(6).ToString()
            lst(7) = dr(7).ToString()
            lst(8) = dr(8).ToString()
            lst(9) = dr(9).ToString()
            lst(10) = dr(10).ToString()
            arlist.Add(lst)
        End While
        dr.Close()
但是在数组列表“arlist”的末尾,我只得到一个重复的元素


之所以发生这种情况,是因为
lst
的当前实例的引用被添加到
ArrayList
中,因此您在lst中所做的修改也会影响ArrayList。因此,您将获得在arrayList的所有索引中重复的最后一个值。您可以做的是,在循环内定义
lst
,如下所示:

Dim arlist As New ArrayList
Dim dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read()
    Dim lst(10) as string
    lst(0) = dr(0).ToString()
    lst(1) = dr(1).ToString()
    '> Rest of elements    
    arlist.Add(lst)
End While
dr.Close()
你可以找到一个有效的例子