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

前端之家收集整理的这篇文章主要介绍了c# – 将填充的列表转换为列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个列表< 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();

猜你在找的C#相关文章