c# - 从 List<Class> 高效地创建 List<Class>?

标签 c# list constructor

我有来自 ClassA 的对象,想用它们创建 ClassB 的对象。如果我一次只处理一个对象,我知道该怎么做:

ClassA object1 = new ClassA();
ClassB object2 = new ClassB(object1);

class ClassA
{
    public DateTime Timestamp;
    public double X;
    public double Y;
    public double Z;

    public ClassA()
    {
       // other stuff
    }
}

class ClassB
{
    public DateTime Timestamp;
    public double X;

    public ClassB(ClassA A)
    {
        Timestamp = A.Timestamp;
        X = A.X;
    }
}

但是,我正在寻找使用对象列表来完成此操作的最佳方法。我想获取 ClassA 类型的列表,并创建一个 ClassB 类型的列表:

List<ClassA> list_of_classA = new List<ClassA>();
List<ClassB> list_of_classB = ????

最佳答案

除了 Markus 演示的查询样式语法外,您还可以使用 lambda 样式语法将 ClassA 列表投影到 ClassB

var listOfClassB = list_of_classA.Select(x => new ClassB(x)).ToList()

关于c# - 从 List<Class> 高效地创建 List<Class>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45090115/

相关文章:

c# - XML 获取特定元素

c# - 如何在不在 C# 中生成垃圾的情况下将 int 转换为 char[]

Java,嵌套类: how to access 'higher' level variable

Python 将字典列表转换为另一个字典列表

java - 如何使用属性从列表中提取对象?

c++ - 如何在虚拟继承下游使用参数化基类构造函数

c# - View 是否应该间接绑定(bind)到 MVVM 模型中的属性?

c# - 在 c# HttpClient 4.5 中发布多部分/表单数据

c++ - `Base *b = new Base;` 与 `Base *b = new Base();` 没有定义我自己的构造函数

c++ - 类型转换指针构造函数调用