gpt4 book ai didi

c# - 将 List 复制到 List

转载 作者:IT王子 更新时间:2023-10-29 04:26:24 26 4
gpt4 key购买 nike

给定以下类定义:

public class BaseClass
{
public string SomeProp1 { get; set; }
}

public class DerivedClass : BaseClass
{
public string SomeProp2 { get; set; }
}

我怎样才能拍List<BaseClass>并将其转换为 List<DerivedClass>

在我的真实场景中 BaseClass有一大堆我不想一个一个复制的属性(如果添加了额外的属性,请记住要维护)。

将参数化构造函数添加到 BaseClass不是一个选项,因为此类是由 WCF 服务引用定义的。

最佳答案

List<DerivedClass> result = 
listBaseClass.ConvertAll(instance => (DerivedClass)instance);

其实ConvertAll在你需要在原来的基础上创建新对象的时候很好用,当你只需要转换的时候你可以使用下面的

List<DerivedClass> result = 
listBaseClass.Cast<DerivedClass>().ToList();

如果不是列表中的所有项目都可以转换为 DerivedClass,则改用 OfType

List<DerivedClass> result =
listBaseClass.OfType<DerivedClass>().ToList();

关于c# - 将 List<BaseClass> 复制到 List<DerivedClass>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/516463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com