Comparar Listas de Objetos utilizando Linq C#

En esta oportunidad les mostrare una manera simple de comparar listas utilizando Linq.

private void Comparar()
{
   //Lista completa de datos 
   List personas = new List();

   //Valores que deseamos buscar
   List buscar = new List(); 

   //Almacenara valores que No existen en la lista completa
   List Existen = new List(); 

   //Almacenara valores que NO existen en la lista completa
   List NoExisten = new List(); 

                                
  personas.Add(new Persona()
  {
     Nombre = "Victor",
     Rut = "1-9"
  });
  personas.Add(new Persona()
  {
     Nombre = "Felipe",
     Rut = "1111-9"
  });

 buscar.Add(new Persona()
 {
     Nombre = "Victor",
     Rut = "1-9"
 });

 buscar.Add(new Persona()
 {
     Nombre = "Jose",
     Rut = "11-9"
 });

 Existen = (from p in personas
            where (from b in buscar
                      select b.Rut)
                      .Contains(p.Rut)
            select p).Distinct().ToList();
 
 NoExisten = (from p in personas
             where !(from ex in Existen
                     select ex.Rut)
                     .Contains(p.Rut)
             select p).ToList();
}

Esperamos sea de su utilidad Saludos

También te podría gustar...

2 Respuestas

  1. Usted realmente revelado que adecuadamente .
    |
    Wow toneladas de
    Muchas gracias Numerosos artículos !

  2. Uriel dice:

    Genial…justo lo que buscaba..gracias