首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何遍历此IEnumerator

如何遍历此IEnumerator
EN

Stack Overflow用户
提问于 2013-02-20 16:18:23
回答 2查看 1.6K关注 0票数 0

我从ConcurrentDictionary那里得到了一个IEnumerator类型。我正在尝试使用以下方式遍历它

代码语言:javascript
复制
    System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<string,string>>

    Ien  = Concur_Dictionary.GetEnumerator();

    foreach (KeyValuePair<string, string> pair in Ien) -->Error here
    {
    }

我得到以下错误

代码语言:javascript
复制
Error   4   foreach statement cannot operate on variables of type 'System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<string,string>>' because 'System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<string,string>>' does not contain a public definition for 'GetEnumerator'

对如何遍历这个IEnumerator有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-20 16:20:38

您通常不希望遍历IEnumerator;您只需直接遍历IEnumerable

代码语言:javascript
复制
foreach (var pair in Concur_Dictionary) …

如果由于某种原因,您没有访问IEnumerable的权限,您可以这样做:

代码语言:javascript
复制
while (Ien.MoveNext())
{
    var pair = Ien.Current;
    …
}
票数 5
EN

Stack Overflow用户

发布于 2013-02-20 16:32:01

你可以使用它的MoveNext()

代码语言:javascript
复制
var enumerator = getInt().GetEnumerator();
while(enumerator.MoveNext())
{
    //Line of codes..
}

你可以做这样的事情。

或者可以这样做。

代码语言:javascript
复制
foreach (var item in collection)
{
    // do your stuff   
}

试试这玩意儿它对我很管用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14975144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档