我有一个快速的问题。
我有几个班级,例如SubA,SubB和SubC。
我也有一个抽象类,可以说父母
因此,我有一个Parent对象数组,其中包含SubA,SubB和SubC的实例。
我基本上是试图遍历数组或父对象,并获取SubA的特定实例。
我试过以下内容,但会产生类型异常:
foreach (SubA a in Parent.GetList())
任何帮助将不胜感激。
最佳答案
是的,当前代码具有隐式转换,如果您的集合中有“错误”类型的对象,则该转换将失败。我建议您使用LINQ的OfType
方法:
using System.Linq; // Make LINQ extension methods available
...
foreach (SubA a in Parent.GetList().OfType<SubA>())
{
...
}
请注意,在上面的
a
永远不会为空-我假设这是可以的。