2011-04-11 18 views
6

Creo que mi pregunta es fácil, pero yo soy un novato en LINQ ... Así que estoy teniendo dificultades aquíLINQ - Excepto una lista con los elementos de otra

Mi sistema llama a un servicio, llamado serviceTOP, que me devuelve una lista de itemTOP {Id, Name}.

Estos ItemsTOP no están en mi sistema, pero el usuario puede elegir qué elemento TOP importar al sistema.

El ItemsTOP importado se convierte en un objeto Item { Id, IdTOP, Name }

Por lo tanto, cuando el sistema llama serviceTOP, antes de mostrarlos al usuario, que debe filtrar los artículos ya importados de la lista.

Vamos al código:

IList<ItemsTOP> listTOP = new ServiceTOP().GetItemsTOP(); 

IList<Items> list = new WCFServiceClient().GetItems(); 

var filteredListTOP = listTOP.Select(i => i.Id).Except(i => i.IdTOP); 

Este tipo de obras, pero devuelve una lista de cadenas que contienen sólo el ello.

Me gustaría seleccionar tanto la identificación como el nombre de TOP.

Gracias de antemano.

Respuesta

8

cambiar esta situación:

var filteredListTOP = listTOP.Select(i => i.Id).Except(i => i.IdTOP); 

A esto:

var filteredListTOP = listTOP.Select(i => new { ID = i.id, Name = i.Name}).Except(i => i.IdTOP); 
Cuestiones relacionadas