C# 使用IEnumerable的详细信息实例化列表的优雅的基于LINQ的方法

C# 使用IEnumerable的详细信息实例化列表的优雅的基于LINQ的方法,c#,linq,C#,Linq,我有两个结构非常相似的对象,我们称它们为A和B。 A和B具有相似的属性,例如名字、姓氏和Dob 我有一个IEnumerable,其中填充了许多对象。我希望能够遍历A中找到的每个对象,使用其详细信息实例化B的新对象,然后添加到新的列表中 我可以直接这么做,但我肯定有一种方法可以用Linq来做,因为我在过去看到过类似的东西,但我不记得具体怎么做 长期目标是: List<B> list = new List<B>(); foreach (A a in AEnumerable)

我有两个结构非常相似的对象,我们称它们为A和B。 A和B具有相似的属性,例如名字、姓氏和Dob

我有一个
IEnumerable
,其中填充了许多对象。我希望能够遍历A中找到的每个对象,使用其详细信息实例化B的新对象,然后添加到新的
列表中

我可以直接这么做,但我肯定有一种方法可以用Linq来做,因为我在过去看到过类似的东西,但我不记得具体怎么做

长期目标是:

List<B> list = new List<B>();

foreach (A a in AEnumerable)
{
    B b = new B
    {
        FirstName = a.Forename,
        LastName = a.Surname,
        Dob = a.DateOfBirth
    };

    list.Add(b);
}
List List=新列表();
foreach(可计算中的A)
{
B=新的B
{
FirstName=a.名字,
姓氏,
出生日期
};
列表.添加(b);
}

但是我不确定如何使用Linq来实现这一点。

使用
选择
然后
列出

var result = AEnumerable.Select(e => new B
                {
                    FirstName = e.Forename,
                    LastName = e.Surname,
                    Dob = e.DateOfBirth
                }).ToList();