Freigeben über


Vorgehensweise: Suchen des Unterschieds zwischen zwei Listen (LINQ) (Visual Basic)

In diesem Beispiel wird gezeigt, wie SIE LINQ verwenden, um zwei Listen mit Zeichenfolgen zu vergleichen und diese Zeilen auszugeben, die sich in names1.txt, aber nicht in names2.txtbefinden.

So erstellen Sie die Datendateien

  1. Kopieren Sie names1.txt und names2.txt in Ihren Lösungsordner, wie in „Kombinieren und Vergleichen von Zeichenfolgensammlungen (LINQ) (Visual Basic)“ gezeigt.

Beispiel

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  

Einige Arten von Abfragevorgängen in Visual Basic, z. B. Except, Distinct, Union und Concat, können nur in methodenbasierter Syntax ausgedrückt werden.

Kompilieren des Codes

Erstellen Sie ein Visual Basic-Konsolenanwendungsprojekt mit einer Imports Anweisung für den System.Linq-Namespace.

Siehe auch