SortedList.System.Collections.IEnumerable.GetEnumeratorとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SortedList.System.Collections.IEnumerable.GetEnumeratorの意味・解説 

SortedList.System.Collections.IEnumerable.GetEnumerator メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

コレクション反復処理する列挙子を返します

名前空間: System.Collections.Generic
アセンブリ: System (system.dll 内)
構文構文

Private Function System.Collections.IEnumerable.GetEnumerator
 As IEnumerator Implements IEnumerable.GetEnumerator
Dim instance As SortedList(Of
 TKey, TValue)
Dim returnValue As IEnumerator

returnValue = CType(instance, IEnumerable).GetEnumerator
IEnumerator IEnumerable.GetEnumerator ()
private:
virtual IEnumerator^ System.Collections.IEnumerable.GetEnumerator () sealed = IEnumerable::GetEnumerator

戻り値
コレクション反復処理するために使用できる IEnumerator。

解説解説

C# 言語foreach ステートメント (C++ の場合for eachVisual Basic の場合For Each) を使用することで列挙子の複雑さ回避できます。したがって列挙子を直接操作するではなくforeach使用お勧めます。

列挙子を使用すると、コレクション内のデータ読み取ることができますが、基になるコレクション変更することはできません。

初期状態では、列挙子はコレクション最初要素前に位置してます。Reset実行した場合も、列挙子はこの位置に戻されます。この位置では、Current未定義です。したがってCurrent の値を読み取る前に、MoveNext を呼び出してコレクション最初要素列挙子を進める必要があります

Current は、MoveNext または Reset呼び出されるまでは同じオブジェクト返しますMoveNext は、Current次の要素設定します

MoveNextコレクション末尾を過ぎると、列挙子はコレクション最後要素後ろ配置されMoveNextfalse返します列挙子がこの位置にある場合以降MoveNext呼び出してfalse返されます。MoveNext への最後呼び出しfalse返され場合は、Current未定義です。Currentコレクション最初要素に再び設定するには、Reset呼び出してから、MoveNext呼び出します。

コレクション変更されない限り列挙子は有効なままです。要素追加変更削除などの変更コレクションに対して実行されると、列挙子は回復不可能な無効状態になり、動作未定義になります

列挙子はコレクションへの排他アクセス権持たないため、コレクション列挙処理は、本質的にスレッド セーフな処理ではありません。すべての列挙処理が終わるまでコレクションロックすることにより、列挙処理でのスレッド セーフ確保できますコレクション対し複数スレッドアクセスして読み取り書き込みを行うことができるようにするには、独自に同期化実装する必要があります

System.Collections.Generic のコレクション既定実装同期されません。

このメソッドは O(1) 操作です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SortedList ジェネリック クラス
SortedList メンバ
System.Collections.Generic 名前空間
SortedList.GetEnumerator メソッド
IEnumerator インターフェイス

SortedList.System.Collections.IEnumerable.GetEnumerator メソッド

SortedList を反復処理する IEnumerator を返します

名前空間: System.Collections
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Private Function System.Collections.IEnumerable.GetEnumerator
 As IEnumerator Implements IEnumerable.GetEnumerator
Dim instance As SortedList
Dim returnValue As IEnumerator

returnValue = CType(instance, IEnumerable).GetEnumerator
IEnumerator IEnumerable.GetEnumerator ()
private:
virtual IEnumerator^ System.Collections.IEnumerable.GetEnumerator () sealed = IEnumerable::GetEnumerator

戻り値
SortedListIEnumerator

解説解説

C# 言語foreach ステートメント (Visual Basic の場合for each) を使用することで列挙子の複雑さ回避できます。したがって列挙子を直接操作するではなくforeach使用お勧めます。

列挙子を使用すると、コレクション内のデータ読み取ることができますが、基になるコレクション変更することはできません。

初期状態では、列挙子はコレクション最初要素前に位置してます。Reset実行した場合も、列挙子はこの位置に戻されます。この位置で Current呼び出すと、例外スローさます。たがってCurrent の値を読み取る前に、MoveNext を呼び出してコレクション最初要素列挙子を進める必要があります

Current は、MoveNext または Reset呼び出されるまでは同じオブジェクト返しますMoveNext は、Current次の要素設定します

MoveNextコレクション末尾を過ぎると、列挙子はコレクション最後要素後ろ配置されMoveNextfalse返します列挙子がこの位置にある場合以降MoveNext呼び出してfalse返されます。MoveNext への最後呼び出しfalse返され場合に、Current呼び出すと例外スローさます。Currentコレクション最初要素に再び設定するには、Reset呼び出してから、MoveNext呼び出します。

コレクション変更されない限り列挙子は有効なままです。要素追加変更削除などの変更コレクションに対して実行されると、列挙子は回復不可能な無効状態になり、次に MoveNext または Reset呼び出すと InvalidOperationException がスローさます。MoveNextCurrent の間でコレクション変更すると、列挙子が無効になっている場合でも、Current設定先の要素返します

列挙子はコレクションへの排他アクセス権持たないため、コレクション列挙処理は、本質的にスレッド セーフな処理ではありません。コレクション同期されている場合でも、他のスレッドがそのコレクション変更する可能性はあり、そのような状況発生すると列挙子例外スローます。列挙処理を確実にスレッド セーフに行うには、列挙中にコレクションロックするか、他のスレッドによって行われた変更によってスローされる例外キャッチします。

このメソッドは O(1) 操作です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からSortedList.System.Collections.IEnumerable.GetEnumeratorを検索した結果を表示しています。
Weblioに収録されているすべての辞書からSortedList.System.Collections.IEnumerable.GetEnumeratorを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からSortedList.System.Collections.IEnumerable.GetEnumeratorを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

SortedList.System.Collections.IEnumerable.GetEnumeratorのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SortedList.System.Collections.IEnumerable.GetEnumeratorのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS