C# 使用现有列表创建对象列表

C# 使用现有列表创建对象列表,c#,C#,我有一个名为DataAPIKey的类。我有第二个类,它继承了那个类 在我的代码中有一个列表,我想用它来创建一个新类的列表。有没有办法不使用for-each循环来实现这一点 使用下面的示例,我编写了下面的代码,它似乎在做我想要的事情 List<DataAPIKey> apiList = db.GetPendingAction("Character"); List<DataCharacter> charList = apiList.Select(k => {

我有一个名为DataAPIKey的类。我有第二个类,它继承了那个类

在我的代码中有一个列表,我想用它来创建一个新类的列表。有没有办法不使用for-each循环来实现这一点

使用下面的示例,我编写了下面的代码,它似乎在做我想要的事情

List<DataAPIKey> apiList = db.GetPendingAction("Character");

List<DataCharacter> charList = apiList.Select(k => {
        DataCharacter dc = new DataCharacter(k.apiKeyId, k.keyId, k.verificationCode);
        return dc;
    }).ToList()
List apiList=db.GetPendingAction(“字符”);
List charList=apiList.Select(k=>{
DataCharacter dc=新的DataCharacter(k.apiKeyId、k.keyId、k.verificationCode);
返回dc;
})托利斯先生()

使用LINQ选择方法

var newList=oldList.Select(oldItem=>newinheritedItem(oldItem)).ToList()

在简单的英语中,这可以翻译为“从oldList中获取每个项,将每个项作为函数参数提供给一个函数,该函数将获取该项并执行一些逻辑以返回不同类型的项,然后获取所有返回的项并将其填充到新的列表中。”

或者,如果没有用于初始化继承类的构造函数,则可以提供任何代码块:

var newList = oldList.Select(oldItem =>
{
    var newItem = new InheritedItem();
    newItem.Property = oldItem.Property;
    return newItem;
}).ToList();
或初始值设定项:

var newList = oldList.Select(oldItem => new InheritedItem()
{
    Property = oldItem.Property,
    Property2 = oldItem.Property2
}).ToList();

使用LINQ选择方法

var newList=oldList.Select(oldItem=>newinheritedItem(oldItem)).ToList()

在简单的英语中,这可以翻译为“从oldList中获取每个项,将每个项作为函数参数提供给一个函数,该函数将获取该项并执行一些逻辑以返回不同类型的项,然后获取所有返回的项并将其填充到新的列表中。”

或者,如果没有用于初始化继承类的构造函数,则可以提供任何代码块:

var newList = oldList.Select(oldItem =>
{
    var newItem = new InheritedItem();
    newItem.Property = oldItem.Property;
    return newItem;
}).ToList();
或初始值设定项:

var newList = oldList.Select(oldItem => new InheritedItem()
{
    Property = oldItem.Property,
    Property2 = oldItem.Property2
}).ToList();