如何找到枚举器的结束位置?对于这个枚举器,我没有在文档中看到任何atEnd方法。
SortedSet<Button ^>::Enumerator^ enumer = btnSet->GetEnumerator();
enumer->atEnd();
我的错误
error 'atEnd' : is not a member of 'System::Collections::Generic::SortedSet<T>::Enumerator'
答案 0 :(得分:1)
你打算像while (enumer != btnSet->end())
那样写一个循环,就像许多C ++迭代器一样吗?
你可以通过检查MoveNext()
的返回值来检查一个枚举器是否还没有结束,所以循环就是这样:
SortedSet<Button^>::Enumerator^ enumer = btnSet->GetEnumerator();
while (enumer->MoveNext()) {
Button^ btn = enumer->Current;
// do stuff
}
您还可以使用for each
循环遍历集合,这看起来更清晰:
for each (Button^ btn in btnSet) {
// do stuff
}