检查对象列表中是否有相同类型的对象?
Checking is there any same type object inside of the object list?
我有一个派生自 A 类型的对象列表(X 和 Y 派生自 A)
List<A> list = new List<A>()
{
new X(),
new Y(),
};
我有一个派生自 A 类型的对象。 Z 对象
我想检查类型是否相等,如果列表对象类型中有与 Z 对象相同的类型
我怎样才能写出这样的代码?
您可以简单地按照建议的重复写法:
bool containsOfTypeZ = list.OfType<Z>().Any();
或者@KlausGütter 的想法:
var someType = someInstance.GetType();
bool containsOfSomeRuntimeType = list.Any(o => o.GetType() == someType);
我有一个派生自 A 类型的对象列表(X 和 Y 派生自 A)
List<A> list = new List<A>()
{
new X(),
new Y(),
};
我有一个派生自 A 类型的对象。 Z 对象
我想检查类型是否相等,如果列表对象类型中有与 Z 对象相同的类型 我怎样才能写出这样的代码?
您可以简单地按照建议的重复写法:
bool containsOfTypeZ = list.OfType<Z>().Any();
或者@KlausGütter 的想法:
var someType = someInstance.GetType();
bool containsOfSomeRuntimeType = list.Any(o => o.GetType() == someType);