Java中的nextElement()等价物是什么?
我有以下代码:
IEnumerable<String> e = (IEnumerable<String>)request
.Params;
while (e.Count() > 1)
{
//
//String name = e.nextElement();
String name = e. // what method?
}
答案 0 :(得分:9)
您应该使用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语法很多更清晰。使用它。
答案 1 :(得分:2)
var enumerator = e.GetEnumerator();
while (enumerator.MoveNext()) {
var name = enumerator.Current;
}
答案 2 :(得分:0)
您正在寻找的是IEnumerator.MoveNext()
方法。从IEnumerable
开始,您必须先调用GetEnumerator()
方法获取IEnumerator
。请注意,IEnumerator
接口为IDisposable
,这意味着您需要在using
子句中使用它。
正如其他人建议的那样,你可能会优先使用foreach
循环。