Como localizar a diferença de conjunto entre duas listas (LINQ) (Visual Basic)
Este exemplo mostra como usar o LINQ para comparar duas listas de cadeias de caracteres e retornar as linhas que estão no names1.txt, mas não no names2.txt.
Para criar os arquivos de dados
- Copie names1.txt e names2.txt para a pasta de solução, conforme mostrado em Como combinar e comparar coleções de cadeias de caracteres (LINQ) (Visual Basic).
Exemplo
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
Alguns tipos de operações de consulta no Visual Basic, como Except, Distinct, Union e Concat, só podem ser expressos em sintaxe baseada em método.
Compilar o código
Crie um projeto de aplicativo de console do Visual Basic, com uma instrução Imports
para o namespace System.Linq.
Confira também
Colaborar conosco no GitHub
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.