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 に答える