(OBS: Este post é continuação do artigo LINQ Extensions)

Join: Correlaciona os elementos de duas sequências baseando-se na igualdade de chaves.

// Join: Correlaciona os elementos de duas sequências baseando-se na igualdade de chaves. 
var queryJoin =
    Pessoas.Join(Animais,
                    pessoa => pessoa,
                    animal => animal.Dono,
                    (pessoa, animal) =>
                        new
                        {
                            Dono = pessoa,
                            Animal = animal
                        });
foreach (var obj in queryJoin)
{
    Console.WriteLine("Dono: {0} | Animal: {1} ({2})",
        obj.Dono.Nome, obj.Animal.Nome, obj.Animal.Especie);
}
// Resultado no console:
// Dono: José | Animal: Fred (Cachorro)
// Dono: José | Animal: Billy (Cachorro)
// Dono: Antonio | Animal: Pandora (Cachorro)
// Dono: Antonio | Animal: Teny (Cachorro)
// Dono: Antonio | Animal: Cindy (Cachorro)
// Dono: Maria | Animal: Crodô (Piriquito)
// Dono: Maria | Animal: Frodo (Piriquito)
Anúncios