Sdílet prostřednictvím


Postupy: Vyhledání rozdílu množiny mezi dvěma seznamy (LINQ) (Visual Basic)

Tento příklad ukazuje, jak pomocí LINQ porovnat dva seznamy řetězců a výstup těchto řádků, které jsou v names1.txt, ale ne v names2.txt.

Vytvoření datových souborů

  1. Zkopírujte names1.txt a names2.txt do složky řešení, jak je znázorněno v části Postupy: Kombinování a porovnání kolekcí řetězců (LINQ) (Visual Basic).

Příklad

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  

Některé typy operací dotazu v jazyce Visual Basic, například Except, Distinct, Uniona Concat, lze vyjádřit pouze v syntaxi založené na metodách.

Kompilace kódu

Vytvořte projekt konzolové aplikace jazyka Visual Basic s příkazem Imports pro obor názvů System.Linq.

Viz také