【发布时间】:2011-03-03 22:21:24
【问题描述】:
我使用 C# 3.5 DotNet Framework 和 Linq。
我有 2 个具有相同结果模式的视图,但在 linq 中当然是不同的对象。
如何将列表 a 转换为列表 b?
【问题讨论】:
-
有什么原因不能使用 Cast() 方法吗?
我使用 C# 3.5 DotNet Framework 和 Linq。
我有 2 个具有相同结果模式的视图,但在 linq 中当然是不同的对象。
如何将列表 a 转换为列表 b?
【问题讨论】:
您可以创建一个新的 B 列表:
List<B> listOfB = listOfA.Select(a => new B {
Foo = a.Foo,
Bar = a.Bar,
// etc...
}).ToList();
【讨论】:
如果它们具有相同的结构,请尝试查看AutoMapper。
使用 AutoMapper,您可以执行以下操作:
Mapper.CreateMap<Source, Destination>();
List<Destination> listDest = Mapper.Map<Source[], List<Destination>>(sources);
【讨论】: