c# - 使用 linq 将对象模型列表映射到另一个列表

标签 c# linq

我有两个共享一些属性的对象模型和一个我想用来创建另一种类型列表的类型列表。现在,我有这样的东西(并且有效):

List<ObjectA> TheListOfObjectsA = the result of some query;
List<ObjectB> TheListOfObjectsB = new List<ObjectB>();

foreach (ObjectA TheObjectA in TheListObjectsA)
{
   ObjectB TheObjectB = new ObjectB();

   TheObjectB.Prop1 = TheObjectA.Prop1;
   TheObjectB.Prop2 = TheObjectA.Prop2;

   TheListOfObjectsB.Add(TheObjectB);
}

我很好奇是否以及如何在没有循环的 linq 语句中重写它(即使我们知道 linq 语句将作为循环执行)。

最佳答案

你是这个意思吗?

var TheListOfObjectsB  = TheListObjectsA.Select(a => new ObjectB() { Prop1  = a.Prop1, Prop2 = a.Prop2 }).ToList();

关于c# - 使用 linq 将对象模型列表映射到另一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23783863/

相关文章:

C# LINQ 优化

c# - linq - 字符串列表 - 仅按字母排序,然后按数字排序

c# - 什么是 PCRE 兼容语法? C# PCRE 兼容吗?

c# - 显示 MessageBox 取消 SupressKeyPress=true

C# EPPLUS Chart SetPosition 方法行偏移不起作用

c# - 无法获取插入行的标识。触发器返回结果集并且服务器选项 'disallow results from triggers' 为真

c# - 获取 Entity Framework 中每个组的最后记录?

c# - 将 List 对象的值转换为字符串

c# - IGrouping 不包含定义

c# - 返回传递给模拟方法的值