C#でリスト内の特定の型のオブジェクトを取得する方法


C#でリスト内の特定の型のオブジェクトを取得する方法について説明します。LINQを使用してリスト内のオブジェクトをフィルタリングすることで、指定した型のオブジェクトを取得できます。

以下にいくつかのコード例を示します。

  1. 特定の型のオブジェクトのみを取得する方法:
List<object> myList = new List<object>();
// リストにオブジェクトを追加するコード...
// 特定の型のオブジェクトのみを取得する
List<SpecificType> specificObjects = myList.OfType<SpecificType>().ToList();

上記の例では、SpecificTypeという特定の型のオブジェクトのみを取得しています。リスト内のすべてのオブジェクトの中から指定した型のオブジェクトをフィルタリングしています。

  1. 特定の型またはその派生型のオブジェクトを取得する方法:
List<object> myList = new List<object>();
// リストにオブジェクトを追加するコード...
// 特定の型またはその派生型のオブジェクトを取得する
List<BaseType> baseTypeObjects = myList.OfType<BaseType>().ToList();

上記の例では、BaseTypeという特定の型またはその派生型のオブジェクトを取得しています。リスト内のすべてのオブジェクトの中から指定した型またはその派生型のオブジェクトをフィルタリングしています。

これらの例では、LINQのOfType<T>()メソッドを使用して、指定した型のオブジェクトを取得しています。取得したオブジェクトはToList()メソッドを使用してリストに変換しています。

このようにして、C#でリスト内の特定の型のオブジェクトを取得することができます。適切な型を指定してLINQのメソッドを使用することで、効率的にオブジェクトをフィルタリングできます。