从List <ClassA>高效创建List <ClassB>?

Mik*_*keD 3 c# constructor list

我有来自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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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

List<ClassA> list_of_classA = new List<ClassA>();
List<ClassB> list_of_classB = ????
Run Code Online (Sandbox Code Playgroud)

Jes*_*ter 5

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

var listOfClassB = list_of_classA.Select(x => new ClassB(x)).ToList()
Run Code Online (Sandbox Code Playgroud)