是否可以在对象列表中找到对象的类?

时间:2012-03-15 16:22:13

标签: c#

我有一个对象列表= {obj1,obj2,obj3}

每个对象类都继承自同一个接口

interface IObjects
class Obj1:IObjects
class Obj2:IObjects
class Obj3:IObjects

我想找到Obj1类的对象作为例子。 怎么做?

5 个答案:

答案 0 :(得分:4)

您可以通过以下方式实现:

var listOfObject1s = objects.Where(o => o is Obj1).ToList();

答案 1 :(得分:1)

if(obj.GetType() == typeof(Obj1))
{
    // obj is an Obj1!
}

答案 2 :(得分:1)

遍历列表并检查

item is Obj1

答案 3 :(得分:1)

Linq方法:

IObjects[] objList = new IObjects[] { obj1,obj2,obj3 };
obj1 o1 = objList.Where(o => o.GetType() = typeof(Obj1)).First();

答案 4 :(得分:1)

在您的对象上调用GetType()。 see here。希望这有帮助