在 C# 中从另一个列表和其他来源构建列表

Building a List from another list and other sources in C#

我有一个包含 10 个字段的 ClassA 并且下面的列表填充了 100 条记录。

List<ClassA> abc = new List<ClassA>();

我有另一个 class ClassB 有 12 个字段,其中 10 个字段与 Class 相同,还有 2 个额外的字段可以说是硬编码的,即 field11field12。 属性 ClassA 和 ClassB 的名称相同。

我已经尝试循环 ClassA 列表并在循环内构建 ClassB 对象,并继续添加到 ClassB 的列表中并增加 2 个列。 但是有没有更好的方法来实现这一点?

是的,您可以使用自动映射库。喜欢 AutoMapper or Mapster 他们可以通过属性命名约定映射您的实体。您还可以为每个映射设置特定规则。 请在上面的链接中查找文档。

你可以使用 select :

var def = abc.Select(a => new ClassB{
field1 = a.field1,
field2 = a.field2,
.... 
field11 = default,
field12 = default,
}).ToList()