vb.net中的列表
vb.net中的列表,vb.net,list,add,Vb.net,List,Add,我正在尝试创建列表,然后将这些列表插入到另一个列表中。 由于某种原因,每次我尝试向后一个列表添加新的列表项时,后一个列表都会被覆盖。 对于下面的代码,首先我想将项目添加到Temp列表中,在满足某些条件后,将Temp列表作为项目添加到Comp列表中。之后,循环重复,应创建新的和不同的Temp列表,并将其作为下一项添加到Comp列表中。因此,Comp列表中的每个项目都应该是不同的。 但最后我得到了一个Comp列表,其中充满了Temp列表,这些列表与上次添加的Temp列表完全相同。 我做错了什么 Fu
我正在尝试创建列表,然后将这些列表插入到另一个列表中。 由于某种原因,每次我尝试向后一个列表添加新的列表项时,后一个列表都会被覆盖。
对于下面的代码,首先我想将项目添加到
Temp
列表中,在满足某些条件后,将Temp
列表作为项目添加到Comp
列表中。之后,循环重复,应创建新的和不同的Temp
列表,并将其作为下一项添加到Comp
列表中。因此,Comp
列表中的每个项目都应该是不同的。但最后我得到了一个
Comp
列表,其中充满了Temp
列表,这些列表与上次添加的Temp
列表完全相同。我做错了什么
Function UniqueValueList2(ByVal InputObject As List(Of Object)) As List(Of List(Of Object))
Dim vc As Integer = InputObject.Count
Dim i As Integer = 1
Dim Temp As New List(Of Object)
Dim Comp As New List(Of List(Of Object))
Dim CurrentObj As String
Dim PrevObj As String
Temp.Add(InputObject(0))
Do While i < vc
CurrentObj = InputObject(i).fieldName
PrevObj = InputObject(i-1).fieldName
If CurrentObj = PrevObj Then
Temp.Add(InputObject(i))
Else
Comp.Add(Temp)
Temp.Clear()
Temp.Add(InputObject(i))
End If
i = i + 1
Loop
Comp.Add(Temp)
UniqueValueList2 = Comp
End Function
函数UniqueValueList2(ByVal InputObject作为列表(对象))作为列表(对象列表))
将vc设置为整数=InputObject.Count
尺寸i为整数=1
Dim Temp作为新列表(对象)
Dim Comp作为新列表(对象列表))
Dim CurrentObj As字符串
Dim PrevObj As字符串
临时添加(输入对象(0))
趁我不在的时候做
CurrentObj=InputObject(i).字段名
PrevObj=InputObject(i-1).字段名
如果CurrentObj=PrevObj,则
临时添加(输入对象(i))
其他的
组件添加(临时)
温度清除()
临时添加(输入对象(i))
如果结束
i=i+1
环
组件添加(临时)
UniqueValueList2=Comp
端函数
Temp保存着相同的引用。因此,对它进行更改将改变它。并且您添加和修改相同的列表
Comp.Add(Temp) 'the same Temp List
Temp.Clear() 'You will clear the same List
Temp.Add(InputObject(i))
那么你应该怎么做:
Comp.Add(Temp) 'we add old List
Temp=New List(Of Object) 'Temp now holds reference to new List
Temp.Add(InputObject(i))
Temp持有相同的引用。因此,对它进行更改将改变它。并且您添加和修改相同的列表
Comp.Add(Temp) 'the same Temp List
Temp.Clear() 'You will clear the same List
Temp.Add(InputObject(i))
那么你应该怎么做:
Comp.Add(Temp) 'we add old List
Temp=New List(Of Object) 'Temp now holds reference to new List
Temp.Add(InputObject(i))
这将有助于:
Comp.Add(Temp.ToList())
Temp.Clear()
Temp.Add(InputObject(i))
这将有助于:
Comp.Add(Temp.ToList())
Temp.Clear()
Temp.Add(InputObject(i))
为什么要使用(对象的)列表?在我看来,它完全否定了泛型类型的好处。您也可以使用ArrayList。因为我想要一个类对象列表。为什么要使用list(of Object)?在我看来,它完全否定了泛型类型的好处。您也可以使用ArrayList,因为我想要一个类对象列表。