加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将填充的列表转换为列表

发布时间:2020-12-15 06:51:38 所属栏目:百科 来源:网络整理
导读:我有一个列表 BaseClass与其中的成员.我想将列表(及其所有成员具体)转换为List ChildClass类型,其中ChildClass继承BaseClass.我知道我可以通过foreach获得相同的结果: ListChildClass ChildClassList = new ListChildClass();foreach( var item in BaseClas
我有一个列表< BaseClass>与其中的成员.我想将列表(及其所有成员具体)转换为List< ChildClass>类型,其中ChildClass继承BaseClass.我知道我可以通过foreach获得相同的结果:
List<ChildClass> ChildClassList = new List<ChildClass>();
foreach( var item in BaseClassList )
{
    ChildClassList.Add( item as ChildClass );
}

但是有没有更好的做法呢?注意 – 这是在WP7平台上完成的.

解决方法

如果您真的确定所有项目都是可浇注的,您可以执行此操作:
ChildClassList = BaseClassList.Cast<ChildClass>().ToList();

如果BaseClass项不能转换为ChildClass,您当前的代码将添加null.如果这是真的你的意图,这将是相当的:

ChildClassList = BaseClassList.Select(x => x as ChildClass).ToList();

但我宁愿建议这个,包括类型检查,并将跳过不符合的项目:

ChildClassList = BaseClassList.OfType<ChildClass>().ToList();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读