Domanda

Ho bisogno di trovare differenza tra ai set. Classi, comprendente le schede, sono differenti ma hanno lo stesso tipo di campi. Per essere in grado di utilizzare il metodo Salvo, a prendere la differenza, voglio mappare una lista all'altra.

Posso fare questo metodo toList usando? in caso contrario, è possibile in un altro modo?

List<Class1>.Except(List<Class2> I need to map class2 list to class1 list)

Grazie

È stato utile?

Soluzione

In LINQ, Select è sinonimo di "mappa" in altre lingue. Si chiama "selezionare" perché la parola deriva dalla terminologia database ... ma Select è ciò che si vuole:

var mappedTypes = myCollection.Select(item => new MappedType(item.Something));

Altri suggerimenti

Se si desidera una proiezione è possibile utilizzare Ye Olde operatore Select :

list1.Except(list2.Select(x => ConvertToClass1(x));
List<Class1>.Except(List<Class2>.Select(e => 
                                           new Class1() 
                                                    { 
                                                      Field1 = e.Field1 ...
                                                    });

Comunque, io vi consiglio di utilizzare automapper .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top