Cómo obtener en C# con LINQ los elementos de una lista que no están en otra lista
¡Hola a todos! Soy un desarrollador C# principiante y tuve un problema al trabajar con colecciones. Tengo dos listas de objetos del mismo tipo. Supongamos que tengo una clase Product con campos Id y Name. La primera lista (listA) contiene todos los productos de la base de datos, y la segunda lista (listB) es la lista de productos que el usuario ya seleccionó para el pedido. Necesito obtener una tercera lista (listC) que contenga solo aquellos productos de listA que no están en listB.
Intenté usar un bucle foreach y verificar con Contains, pero se ve voluminoso y poco elegante. Además, cuando las listas son grandes, ese código funciona lentamente. Escuché que LINQ permite hacer estas cosas de manera elegante y rápida. Indícame cómo escribir correctamente la consulta para obtener los elementos que faltan en la segunda lista. Es importante que la comparación se haga por Id, ya que Name puede repetirse.
Ejemplo de mi estructura de datos:
List listA = new List
{
new Product { Id = 1, Name = "Leche" },
new Product { Id = 2, Nam
No answers yet.
Inicia sesión para dejar una respuesta