c#等价于Java中的nextElement()

本文关键字:nextElement 中的 等价于 Java | 更新日期: 2023-09-27 18:18:44

与Java中的nextElement()等价的是什么?

我有以下代码:

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

c#等价于Java中的nextElement()

您应该使用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循环。