簡體   English   中英

如何比較兩個數組的項目

[英]How to compare item of two array

我創建了一個系統,該系統可以保存從網站獲取的一系列值中,這些值是實時更新的。 現在,我正在實現一種附加模式,該模式可以查看更改的值。 首先,除了下載諸如“ vecchia_lista”之類的值外,我將確保比較數組的每個元素,看看舊數據與新數據是否不同。

Dim lista As New List(Of Country_Data)
Dim vecchia_lista As New List(Of Country_Data)
Private Structure Country_Data
    Dim casa As String
    Dim ospite As String
    Dim Result As String
End Structure

在更新值的功能中,我有一個像這樣的嵌套循環:

Dim squadra As Country_Data
                    With squadra
                        .casa = Remove_Tags(Team_A(Team).Groups(1).Value)
                        .ospite = Remove_Tags(Team_B(Team).Groups(1).Value)
                        .Result = StrScore
                    End With
                    lista.Add(squadra)

變量Team A,b,StrScore包含拆分元素。
在此循環之前,我用新內容更新了舊數組:

vecchia_lista = lista

我的問題:

現在,我想檢查數組中的某個元素是否已更改,老實說,我不知道如何比較每個實例。 我創建的目的是要遍歷列表中的每個元素,因此請您的幫助。

For Each element In lista

                    Next

實際上,很難理解您的問題,但是似乎您正在尋找的是在兩個具有不同屬性的集合中找到具有相同鍵的元素,這些鍵的特定屬性不同,其中鍵為{Casa, Ospite} ,另一個屬性Result

我建議使用Join將集合A中的元素與集合B中的對應元素進行匹配,並檢查其Result屬性的值是否不相等。

例:

Public Class Country_Data
    Public Property Casa As String
    Public Property Ospite As String
    Public Property Result As String
End Class

Sub Main
    Dim vecchia_lista = New List(Of Country_Data) From _
        { New Country_Data() With {.Casa = "Team A", .Ospite = "Team B", .Result = "0:0"},
          New Country_Data() With {.Casa = "Team C", .Ospite = "Team D", .Result = "0:0"}}

    Dim lista = New List(Of Country_Data) From _
        { New Country_Data() With {.Casa = "Team A", .Ospite = "Team B", .Result = "0:0"},
          New Country_Data() With {.Casa = "Team C", .Ospite = "Team D", .Result = "1:0"}}

    Dim changed_elements = From d1 In vecchia_lista
                           Join d2 in lista On d1.Casa Equals d2.Casa And 
                                               d1.Ospite Equals d2.Ospite
                           Where d1.Result <> d2.Result
                           Select New With {.Casa = d1.Casa, .Ospite = d1.Ospite,
                                            .OldResult = d1.Result, .NewResult = d2.Result}
End Sub

現在, changed_elements包含:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM