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