【问题标题】:List<a> to List<b> converting when a and b have the same structur?当 a 和 b 具有相同的结构时,List<a> 到 List<b> 转换?
【发布时间】:2011-03-03 22:21:24
【问题描述】:

我使用 C# 3.5 DotNet Framework 和 Linq。

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

如何将列表 a 转换为列表 b?

【问题讨论】:

  • 有什么原因不能使用 Cast() 方法吗?

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-23
      • 2021-04-03
      • 2013-12-02
      • 1970-01-01
      • 2018-06-29
      • 2011-12-03
      • 1970-01-01
      • 2011-12-06
      相关资源
      最近更新 更多