web-dev-qa-db-ja.com

IEnumerableの特定のアイテムに移動する方法

内部に数値データを含むIEnumerableがあります。

EditIEnumerableはSystem.Collection.Ienumerableディレクティブからのものです。

Viual StudioのsnapShot、データを含むEnumを添付:

代替テキストhttp://www.freeimagehosting.net/uploads/bd72c6c310.jpg

上記の画像について簡単に説明すると、eLevelDataはIEnumerable変数で、その中にデータがあります。

ここで、インデックス4または5のデータにアクセスしたいのですが、foreachループを使用したくありません。提案をお願いします。

おかげで、

スベン

42
Simsons

var item = eLevelData.ElementAt(index);

コレクションが_IEnumerable<T>_ではなくIEnumerableとして入力されている場合、ElementAtを呼び出す前にCast拡張メソッドを使用する必要があります。

var item = eLevelData.Cast<RMSRequestProcessor.RMSMedia>().ElementAt(index)

90
Lee

Silverlightで利用できる.NET BCL/LINQのサブセットについてはあまり知りませんが、 Skip でうまくいくはずです。しかし、一般的に言って、foreachを内部的に使用しています:

var item = eLevelData.Skip(4 /* or 5 */).First();
7
Anton Gogolev