如何在IEnumerable中跳转到特定项

52

我有一个包含数字数据的IEnumerable。

编辑 IEnumerable来自System.Collection.Ienumerable指令。

附上Viual Studio的截图,枚举包含数据:

alt文本 http://www.freeimagehosting.net/uploads/bd72c6c310.jpg

简单介绍一下上面的图像,eLevelData是IEnumerable变量,其中包含我的数据。

现在我想要访问索引为4或5的数据,但是我不想使用foreach循环。 请提供建议。

谢谢,

Subhen

2个回答

110

var item = eLevelData.ElementAt(index);

如果您的集合类型为 IEnumerable 而不是 IEnumerable<T>,那么在调用 ElementAt 方法之前,您需要使用 Cast 扩展方法,例如:

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


你好李, 我无法获取ElementAt()方法。我正在Silverlight中使用它。 - Simsons
4
您好,您的页面顶部是否有“using System.Linq”指令?在我的Silverlight 3中这个方法可行。 - Lee

8

我不太清楚Silverlight中可用的.NET BCL / LINQ子集是什么,但Skip应该可以解决问题。但总的来说,它仍然在内部使用foreach

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

1
ElementAt也可以做到这一点,但比Skip(x).First()更直接地得出答案。 - toddmo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接