如何循環訪問支持IEnumerable的集合?如何遍歷支持IEnumerable的集合?
回答
定期對每個會做:
foreach (var item in collection)
{
// do your stuff
}
foreach (var element in instanceOfAClassThatImplelemntIEnumerable)
{
}
隨着已經建議使用foreach
循環的方法,我想我還提到,實現IEnumerable
任何對象還提供了一個IEnumerator
通過GetEnumerator
方法接口。雖然此方法通常不是必需的,但可用於手動迭代集合,並且在爲集合編寫自己的擴展方法時特別有用。
IEnumerable<T> mySequence;
using (var sequenceEnum = mySequence.GetEnumerator())
{
while (sequenceEnum.MoveNext())
{
// Do something with sequenceEnum.Current.
}
}
一個典型的例子是,當你要遍歷兩個序列同時,這是無法實現的foreach
循環。
不要忘記處理枚舉數。 – 2009-10-07 17:14:24
@Eric:是的,我會添加它,因爲它很容易錯過。 – Noldorin 2009-10-07 17:16:31
+1,手動迭代有時可能有用。 – 2012-05-08 14:34:40
,甚至是非常經典的老式方法
for(int i = 0; i < collection.Count(); i++)
{
string str1 = collection.ElementAt(i);
// do your stuff
}
也許你會喜歡這種方法也:-)
這爲什麼有這麼多upvotes?這將列舉枚舉2n次而不是一次。 – 2016-10-27 07:33:44
@RomanReiner因爲這個工程,有些人不關心性能:) – Khateeb321 2016-11-17 14:53:58
@RomanReiner這是很好的例子,我需要分配一個集合的每個元素到另一個集合,我想我不能這樣做使用foreach – AminM 2017-02-18 12:50:53
- 1. 如何遍歷集合對
- 2. 如何「遍歷」該集合
- 3. 遍歷集合
- 4. 遍歷Backbone集合
- 5. JRuby遍歷集合
- 6. Rivets.js遍歷集合
- 7. 遍歷JPQL中的集合
- 8. 遍歷集合中的C#
- 9. 遍歷IEnumerable的使用lambda
- 10. 無法遍歷集合
- 11. 循環遍歷集合
- 12. 無法遍歷集合
- 13. 遍歷集合同步
- 14. 要遍歷集合,集合操作更好選擇如何?
- 15. EF 4.1中是否支持IEnumerable集合進行映射?
- 16. 的UnicodeDecodeError在遍歷集合的MongoDB
- 17. 如何遍歷JavaScript中的支持bean字符串列表
- 18. Laravel遍歷視圖中的集合
- 19. Java集合中的遍歷順序
- 20. 循環遍歷集合的元素
- 21. C++:遍歷多個向量的集合
- 22. 如何遍歷List或Observable集合中的集合中的項目?
- 23. Moq - 無法遍歷隱藏的IEnumerable
- 24. c#:使用Linq獲取一個IEnumerable XML節點集合來遍歷
- 25. 如何遍歷一個集合並獲取集合的最後一個值
- 26. 在遍歷Backbone集合時更新DOM?
- 27. 遍歷List集合性能問題
- 28. JSF 1.2 - 遍歷包含集合
- 29. 修改集合在遍歷它
- 30. 遍歷集合在兩個線程
這比.ElementAt()更快。不幸的是,我的投票被鎖定在Alexa的答案上,所以我無法撤消它,但這是最好的答案。 +1 – 2016-11-22 17:24:54