Combine elementos entre 2 coleções com LINQ em C#
-
22-09-2019 - |
Pergunta
Tenho uma pergunta sobre como fazer uma tarefa de programação comum no LINQ.
Digamos que façamos diferentes coleções ou matrizes. O que eu gostaria de fazer é combinar elementos entre as matrizes e, se houver uma correspondência, faça algo com esse elemento.
por exemplo:
string[] collection1 = new string[] { "1", "7", "4" };
string[] collection2 = new string[] { "6", "1", "7" };
foreach (string str1 in collection1)
{
foreach (string str2 in collection2)
{
if (str1 == str2)
{
// DO SOMETHING EXCITING///
}
}
}
Obviamente, isso pode ser realizado usando o código acima, mas o que estou me perguntando se existe uma maneira rápida e interessante que você pode fazer isso com o LinqtoObjects?
Obrigado!
Solução
apenas um palpite, mas talvez tente chamar de parada () antes de ligar para destruir ().
Outras dicas
Se você deseja executar o código arbitrário nas correspondências, essa seria uma maneira Linq-Y de fazê-lo.
var query =
from str1 in collection1
join str2 in collection2 on str1 equals str2
select str1;
foreach (var item in query)
{
// do something fun
Console.WriteLine(item);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow