Porady: znajdowanie różnicy między dwiema listami (LINQ) (Visual Basic)

W tym przykładzie pokazano, jak używać LINQ do porównywania dwóch list ciągów i wyprowadzania tych wierszy, które znajdują się w names1.txt, ale nie w names2.txt.

Aby utworzyć pliki danych

  1. Skopiuj names1.txt i names2.txt do folderu rozwiązania, jak pokazano w temacie Porady: łączenie i porównywanie kolekcji ciągów (LINQ) (Visual Basic).

Przykład

Class CompareLists

    Shared Sub Main()

        ' Create the IEnumerable data sources.
        Dim names1 As String() = System.IO.File.ReadAllLines("../../../names1.txt")
        Dim names2 As String() = System.IO.File.ReadAllLines("../../../names2.txt")

        ' Create the query. Note that method syntax must be used here.
        Dim differenceQuery = names1.Except(names2)
        Console.WriteLine("The following lines are in names1.txt but not names2.txt")

        ' Execute the query.
        For Each name As String In differenceQuery
            Console.WriteLine(name)
        Next

        ' Keep console window open in debug mode.
        Console.WriteLine("Press any key to exit.")
        Console.ReadKey()
    End Sub
End Class
' Output:
' The following lines are in names1.txt but not names2.txt
' Potra, Cristina
' Noriega, Fabricio
' Aw, Kam Foo
' Toyoshima, Tim
' Guy, Wey Yuan
' Garcia, Debra

Niektóre typy operacji zapytań w języku Visual Basic, takie jak Except, Distinct, Unioni Concat, mogą być wyrażone tylko w składni opartej na metodzie.

Kompilowanie kodu

Utwórz projekt aplikacji konsolowej języka Visual Basic z instrukcją Imports dla przestrzeni nazw System.Linq.

Zobacz także