我正在制作一个游戏,其中生成了正方形(扇区)以制作球的路径。有两种类型的部门:部门和预选部门。它们都被放入Sector类型列表中。我如何检查该列表中的特定扇区在放入之前是否实际上是一个Presector?
BTW:Presector是Sector的子类。
我到处寻找,无法找到任何东西。 as 关键字对我不起作用, Type.IsAssignableFrom 也不是。编辑: 也不会工作,因为那只是检查对象是否是那种类型。
示例代码时间!
List<Sector> sectors = new List<Sector>();
sectors.Add(new Sector());
sectors.Add(new Presector());
现在,我们有一个包含两个扇区的列表。第二个是铸造的。如何使用代码找到它?
答案 0 :(得分:3)
if (objectFromList is Presector)
// Code here..
答案 1 :(得分:1)
List<Sector> sectors = new List<Sector>();
sectors.Add(new Sector());
sectors.Add(new Presector());
sectors.Add(new Sector());
Presector ps = new Presector();
sectors.Add(ps);
// this returns an array with one element
var x = sectors.OfType<Presector>().ToArray();
// this returns true (the second element IS a Presector)
var hasPresector = sectors.Any(s => s is Presector);
// this returns true (the presector is present in the list)
var containsPs = sectors.Contains(ps);
&#39;&#39;的问题是什么?关键字?