Partager via


Comment faire : Trouver la différence entre deux listes (LINQ) (Visual Basic)

Cet exemple montre comment utiliser LINQ pour comparer deux listes de chaînes et sortir les lignes qui sont présentes dans names1.txt, mais pas dans names2.txt.

Pour créer le fichier de données

  1. Copiez names1.txt et names2.txt dans votre dossier solution, comme indiqué dans la section Comment faire : Combiner et comparer des collections de chaînes (LINQ) (Visual Basic).

Exemple

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  

Certains types d'opérations de requête en Visual Basic, tels que Except, Distinct, Union et Concat, ne peuvent être exprimés que dans une syntaxe basée sur les méthodes.

Compiler le code

Créez un projet d’application console Visual Basic avec une instruction Imports pour l’espace de noms System.Linq.

Voir aussi