繁体   English   中英

与Java中的nextElement()等效的C#

[英]c# equivalent of nextElement() from Java

Java中的nextElement()等效于什么?

我有以下代码:

IEnumerable<String> e = (IEnumerable<String>)request
                                        .Params;

while (e.Count() > 1)
{
 // 
 //String name = e.nextElement();
String name = e. // what method?
}

您应该使用foreach循环:

foreach (string name in request.Params)
{
    // Do something for each name
}

如果您真的想使用原始的枚举,则可以调用其GetEnumerator()方法:

using (IEnumerator<string> enumerator = request.Params.GetEnumerator())
{
    while (enumerator.MoveNext())
    {
        string name = enumerator.Current;

        // Do something for each name
    }
}

但是,foreach语法更加清晰。 用那个

var enumerator = e.GetEnumerator();
while  (enumerator.MoveNext()) {
    var name = enumerator.Current;
}

您正在寻找的是IEnumerator.MoveNext()方法。 IEnumerable ,必须首先调用GetEnumerator()方法以获取IEnumerator 请注意, IEnumerator接口是IDisposable ,这意味着您需要在using子句中使用它。

正如其他人所建议的那样,您可能更喜欢使用foreach循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM