比较两个列表 return 某个字符串重复了多少次

Comparing two lists to return how many times a certain string is repeated

所以我有两个包含血液测试的列表。

第一个列表包含提供的测试,第二个列表包含之前订购的测试。列表 1 只能有 5 个测试,列表 2 可以有数百个我从文本文件中检索到的条目。

我想比较列表,看看列表 1 中有多少测试在列表 2 上重复了,以及 return 它们重复了多少次。

例如:我想 return 测试 1 重复 5 次,测试 2 重复 3 次等。 真的为了统计。

Dim List1 As New List(Of String)()
Dim List2 As New List(Of String)()

List1.Add(test1)             
List1.Add(test2)             
List1.Add(test3)
List1.Add(test4)
List1.Add(test5)

List2.Add(test1)
List2.Add(test1)
List2.Add(test5)
List2.Add(test4)
List2.Add(test1)
List2.Add(test2)
List2.Add(test2)
List2.Add(test1)
List2.Add(test2)
List2.Add(test1)

这可能有用,

    Dim List2 As New List(Of String)
    List2.Add("test1")
    List2.Add("test1")
    List2.Add("test5")
    List2.Add("test4")
    List2.Add("test1")
    List2.Add("test2")
    List2.Add("test2")
    List2.Add("test1")
    List2.Add("test2")
    List2.Add("test1")

    Dim groupedNames As IEnumerable(Of IGrouping(Of String, String))
    groupedNames = List2.GroupBy(Function(x) x)
    If groupedNames IsNot Nothing AndAlso groupedNames.Count > 0 Then
        For Each t As IEnumerable(Of String) In groupedNames
            Debug.Print(t(0) & " - " & t.Count.ToString)
        Next
    End If