リストを一覧に変換するには?リスト<IEntity>をリスト<Entity>に変換する方法はありますか?
IEntityは私のインターフェイスで、EntityはIEntityを実装するクラスです。一般的な場合の
リストを一覧に変換するには?リスト<IEntity>をリスト<Entity>に変換する方法はありますか?
IEntityは私のインターフェイスで、EntityはIEntityを実装するクラスです。一般的な場合の
しない - 全てientity
(すなわち、同じインターフェースを実装する別のクラスであってもよい)は、必ずしもentity
わけではありません - それはリスト上のCast()
操作で可能であろう他の方法でラウンド。
List<IEntity> myList;
//initialization omitted
List<Entity> convertedList = myList.OfType<Entity>().ToList();
もちろん、Entity
のアイテムのみが得られます。
using System.Linq;
List<Entity> newList = list.Cast<Entity>().ToList();
//or
List<Entity> newList = list.OfType<Entity>().ToList();
LINQを使用して行うことができます。
List<IEntity> theEntities = GetEntities();
List<YourEntity> newList = theEntities.OfType<YourEntity>().ToList();
あなたが知っている場合は、確かに、あなたのエンティティのすべてがあなたの特定のクラスであることを、あなたは:OfType<T>
拡張メソッドを使用すると、リストを構築するために使用することができ、あなたの特定のクラスで実体を、アウト抽出します使用できるのはCast<T>
:
List<IEntity> theEntities = GetEntities();
List<YourEntity> newList = theEntities.Cast<YourEntity>().ToList();
+1です。 – Nayan