C# 如何转换列表<;积极性>;列出<;实体>;?

C# 如何转换列表<;积极性>;列出<;实体>;?,c#,C#,如何将列表转换为列表 IEntity是我的接口,Entity是一个实现IEntity的类。不适用于一般情况-并非所有的IEntity都必须是实体(也就是说,可以是实现相同接口的另一个类)在列表上执行Cast()操作即可; List<IEntity> myList; //initialization omitted List<Entity> convertedList = myList.OfType<Entity>().ToList(); //省略初始化 L

如何将列表转换为列表


IEntity是我的接口,Entity是一个实现IEntity的类。

不适用于一般情况-并非所有的
IEntity
都必须是
实体(也就是说,可以是实现相同接口的另一个类)
在列表上执行
Cast()
操作即可;
List<IEntity> myList;
//initialization omitted

List<Entity> convertedList = myList.OfType<Entity>().ToList();
//省略初始化 List convertedList=myList.OfType().ToList(); 当然,这将只生成使用System.Linq的
实体

类型的项目;
using System.Linq;
List<Entity> newList = list.Cast<Entity>().ToList();
//or
List<Entity> newList = list.OfType<Entity>().ToList();
List newList=List.Cast().ToList(); //或 List newList=List.OfType().ToList();
您可以使用LINQ来完成。extension方法将提取出作为特定类的实体,您可以使用这些实体构建列表:

 List<IEntity> theEntities = GetEntities();
 List<YourEntity> newList = theEntities.OfType<YourEntity>().ToList();
List theEntities=GetEntities();
List newList=类型()的实体。ToList();
如果您确实知道所有实体都是您的特定类,那么您可以使用:

List theEntities=GetEntities();
List newList=theenties.Cast().ToList();
 List<IEntity> theEntities = GetEntities();
 List<YourEntity> newList = theEntities.Cast<YourEntity>().ToList();