从 C# 中的继承 类 列表中获取对象
getting an object from a List of inherited classes in c#
我有一个基本类型 T 的对象列表,但它们都是不同的子类,比如继承自 T 的 T1、T2 等。此列表中每种类型都有一个对象。
如何从列表中获取类型为 T1 的元素?
您可以使用 List.OfType() 来做到这一点。如此处所示:Enumerable.OfType Method
您可以使用 Enumerable.OfType<T>
如:
var itemsOfT1 = yourList.OfType<T1>();
如果您需要单个项目,请使用:
var itemOfT1 = yourList.OfType<T1>().FirstOrDefault();
Filters the elements of an IEnumerable based on a specified type.
你可以这样做:
T1 t1=null;
foreach(var item in list)
{
if(item is T1)
{
t1 =item as T1;
break;
}
}
我有一个基本类型 T 的对象列表,但它们都是不同的子类,比如继承自 T 的 T1、T2 等。此列表中每种类型都有一个对象。
如何从列表中获取类型为 T1 的元素?
您可以使用 List.OfType() 来做到这一点。如此处所示:Enumerable.OfType Method
您可以使用 Enumerable.OfType<T>
如:
var itemsOfT1 = yourList.OfType<T1>();
如果您需要单个项目,请使用:
var itemOfT1 = yourList.OfType<T1>().FirstOrDefault();
Filters the elements of an IEnumerable based on a specified type.
你可以这样做:
T1 t1=null;
foreach(var item in list)
{
if(item is T1)
{
t1 =item as T1;
break;
}
}