我有IEnumerable,其中包含数字数据。
修改 IEnumerable来自System.Collection.Ienumerable指令。
附上了Viual Studio的snapShot,包含数据的枚举:
alt text http://www.freeimagehosting.net/uploads/bd72c6c310.jpg
为了简要介绍上面的图片,eLevelData是IEnumerable
变量,我有我的数据。
现在我想转到索引4或5的数据,但我不想使用foreach循环。请提出任何建议。
谢谢,
Subhen
答案 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();