Vb.net列表(对象)在rulenumber字段中具有相同值的对象条目。需要将这些对象合并为一个

Vb.net列表(对象)在rulenumber字段中具有相同值的对象条目。需要将这些对象合并为一个,vb.net,object,merge,Vb.net,Object,Merge,我是vb.net环境的新手,我需要一些帮助,以确定是否有一种简单的方法可以合并来自同一列表(对象)的对象,这些对象在字段上具有相同的值(在本例中是rulenumber) 我没有准备好代码,我只需要首先弄清楚是否有一种方法以及如何继续构建此功能 因此,我的计划是,我有一个(对象的)列表,其中包含许多对象条目,这些条目带有rulenumber amount count sign等字段。 在该列表中,我有许多具有相同规则编号的条目。我想创建一个新的对象列表,并将所有具有相同rulenumber字段的对

我是vb.net环境的新手,我需要一些帮助,以确定是否有一种简单的方法可以合并来自同一列表(对象)的对象,这些对象在字段上具有相同的值(在本例中是rulenumber)

我没有准备好代码,我只需要首先弄清楚是否有一种方法以及如何继续构建此功能

因此,我的计划是,我有一个(对象的)列表,其中包含许多对象条目,这些条目带有rulenumber amount count sign等字段。 在该列表中,我有许多具有相同规则编号的条目。我想创建一个新的对象列表,并将所有具有相同rulenumber字段的对象合并到一个条目中


请告知。

总共6杯啤酒,谢谢:-)


可以做到,有一点嫁接…这一点嫁接是我在寻找:)为什么要列第三个名单?只需添加列表2中不在列表1中的内容。最难的部分是碰撞,两者都包含相同的对象,但具有不同的值。听起来,也许整个事情都可以通过使用字典(T)来避免,这样一个集合就可以累积所有的值。愚蠢的答案…只是不允许多个条目具有相同的规则号?添加项目时,迭代列表,如果找到匹配项,则更新已存在的对象。或者按照Puropoix的建议使用Dictionary(),但使用rulenumber作为键。
    Class myCustomList
    Property objectList As New List(Of mycustomobject)

    Class mycustomobject
        Property thisIsmyProp As String
    End Class


    Public Sub _add_object(objectToAdd As mycustomobject)
        For i = 0 To objectList.Count - 1
            If objectToAdd.thisIsmyProp = objectList(i).thisIsmyProp Then
                'this object exists... merge it in
                objectList(i) = objectToAdd
                Exit Sub
            End If
        Next

        'object was not found, add it..
        objectList.Add(objectToAdd)
    End Sub

End Class

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim mylistOfObjects As New myCustomList

    Dim myNewObject As New myCustomList.mycustomobject
    myNewObject.thisIsmyProp = "12345"

    mylistOfObjects._add_object(myNewObject)

    myNewObject = New myCustomList.mycustomobject
    myNewObject.thisIsmyProp = "56789"

    mylistOfObjects._add_object(myNewObject)

    myNewObject = New myCustomList.mycustomobject
    myNewObject.thisIsmyProp = "12345"

    mylistOfObjects._add_object(myNewObject)

    Debug.Print(mylistOfObjects.objectList.Count)

End Sub