2017-03-19 5 views
-1

IEnumerable<T>System.Collections.IEnumerable(Tタイプの要素のみを含む)から取得する最も簡単な方法は何ですか?汎用IEnumerable <T>をSystem.Collections.IEnumerableから取得する最も簡単な方法は何ですか?

単純な(LINQを避けてください)標準のラッパーが必要だと私は何か言っていますが、私はそれを見つけることができません。

+0

私はあなたの質問を理解していないが、あなたはより明確にすることができますか? –

+1

OfTypeまたはCast拡張を使用します。 – Evk

+0

ほとんどの場合、 'Cast'メソッドを探していますが、LINQ(' Enumerable'クラスで定義されている)と考えられています。 'T '型の要素だけが含まれていると確信できるなら、単純なC#キャストを使うことができます。 '(IEnumerable )enumerable' –

答えて

1

LINQでは最も単純で最短です。

foreach (T item in IEnumerableCollection) 

をし、これはかなり.Cast<T>()が何をするかです:あなたは、LINQなしでそれを列挙することができ

static IEnumerable<TResult> CastIterator<TResult>(IEnumerable source) { 
    foreach (object obj in source) yield return (TResult)obj; 
} 
+0

ありがとうございます。あなたが正しいですキャスト System.Linq名前空間から私が本当に避けたい表現が含まれていない場合でも。 –

関連する問題