0

如何找到枚举数的结束位置?对于这个枚举器,我在文档中没有看到任何 atEnd 方法。

SortedSet<Button ^>::Enumerator^ enumer = btnSet->GetEnumerator();
enumer->atEnd();

我的错误

error 'atEnd' : is not a member of 'System::Collections::Generic::SortedSet<T>::Enumerator'
4

1 回答 1

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
}
于 2013-02-27T09:55:34.720 回答