Я пытаюсь создать списки, которые затем вставляются в другой список. По какой-то причине последний список переписывается каждый раз, когда я пытаюсь добавить к нему новый элемент списка.
Для кода ниже, сначала я хочу добавить элементы в список Temp
, и после выполнения определенных условий добавьте список Temp
как элемент в список Comp
. После этого цикл повторяется, новый и другой список Temp
должен быть создан и добавлен в список Comp
как следующий элемент. Поэтому каждый элемент в списке Comp
должен отличаться.
Но в конце концов я получаю список Comp
, который заполняется списками Temp
, которые все идентичны списку из последних Temp
.
Что я делаю неправильно?Список списков в vb.net
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
Зачем использовать список (Из объекта)? Мне кажется, что это полностью отрицает преимущества родовых типов. Вы можете просто использовать ArrayList. –
Потому что я хотел бы иметь список объектов класса. –