如何转到IEnumerable中的特定项目

时间:2010-05-26 10:30:57

标签: c# .net silverlight silverlight-3.0 ienumerable

我有IEnumerable,其中包含数字数据。

修改 IEnumerable来自System.Collection.Ienumerable指令。

附上了Viual Studio的snapShot,包含数据的枚举:

alt text http://www.freeimagehosting.net/uploads/bd72c6c310.jpg

为了简要介绍上面的图片,eLevelData是IEnumerable变量,我有我的数据。

现在我想转到索引4或5的数据,但我不想使用foreach循环。请提出任何建议。

谢谢,

Subhen

2 个答案:

答案 0 :(得分:88)

var item = eLevelData.ElementAt(index);

如果您的收藏集是IEnumerable而不是IEnumerable<T>,则需要先使用Cast扩展名方法,然后才能调用ElementAt,例如

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

答案 1 :(得分:7)

不知道Silverlight中哪些.NET BCL / LINQ子集可用,但Skip应该可以解决问题。但一般来说,它仍然在内部使用foreach

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