我需要找到套装之间的区别。包含集合的类是不同的,但具有相同类型的字段。为了能够使用Except方法,为了获得差异,我想将一个列表映射到另一个列表。
我可以使用toList方法吗?如果没有,是否有可能以另一种方式?
List<Class1>.Except(List<Class2> I need to map class2 list to class1 list)
由于
答案 0 :(得分:13)
在LINQ中,Select与其他语言中的“map”同义。它被称为“选择”,因为该词来自数据库术语......但选择是你想要的:
var mappedTypes = myCollection.Select(item => new MappedType(item.Something));
答案 1 :(得分:1)
如果您想要投影,可以使用Select
运算符:
list1.Except(list2.Select(x => ConvertToClass1(x));
答案 2 :(得分:0)
List<Class1>.Except(List<Class2>.Select(e =>
new Class1()
{
Field1 = e.Field1 ...
});
但是,我建议您使用automapper。