列表<a> to List<b> converting when a and b have the same structur?</b></a>

时间:2010-06-15 10:46:48

标签: c# .net linq .net-3.5

我使用C#3.5 DotNet Framework和Linq。

我有2个视图具有相同的结果模式,但在linq中当然是不同的对象。

如何将List a转换为List b?

2 个答案:

答案 0 :(得分:4)

您可以创建一个新的B列表:

List<B> listOfB = listOfA.Select(a => new B {
                                                Foo = a.Foo,
                                                Bar = a.Bar,
                                                // etc...
                                            }).ToList();

答案 1 :(得分:2)

当它们具有相同的结构时,请尝试查看AutoMapper

使用AutoMapper,您可以执行以下操作:

Mapper.CreateMap<Source, Destination>();
List<Destination> listDest = Mapper.Map<Source[], List<Destination>>(sources);