SortedList.GetEnumerator メソッドとは? わかりやすく解説

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

SortedList.GetEnumerator メソッド

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

SortedList を反復処理する列挙子を返します

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

Public Function GetEnumerator As
 IEnumerator(Of KeyValuePair(Of TKey, TValue))
Dim instance As SortedList(Of
 TKey, TValue)
Dim returnValue As IEnumerator(Of
 KeyValuePair(Of TKey, TValue))

returnValue = instance.GetEnumerator
public IEnumerator<KeyValuePair<TKey,TValue>> GetEnumerator
 ()
public:
IEnumerator<KeyValuePair<TKey, TValue>>^ GetEnumerator ()
public IEnumerator<KeyValuePair<TKey,TValue>> GetEnumerator
 ()
public function GetEnumerator () : IEnumerator<KeyValuePair<TKey
,TValue>>

戻り値
SortedList の KeyValuePair 型の IEnumerator。

解説解説

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

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

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

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

MoveNextコレクション末尾を過ぎると、列挙子はコレクション最後要素後ろ配置されMoveNextfalse返します列挙子がこの位置にある場合以降MoveNext呼び出すと false返されます。MoveNext への最後呼び出しfalse返され場合は、Current未定義です。Current を、再度コレクション最初要素設定することはできません。列挙子の新しインスタンス作成する必要があります

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

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

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

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

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

SortedList.GetEnumerator メソッド

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

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

Public Overridable Function
 GetEnumerator As IDictionaryEnumerator
Dim instance As SortedList
Dim returnValue As IDictionaryEnumerator

returnValue = instance.GetEnumerator
public virtual IDictionaryEnumerator GetEnumerator ()
public:
virtual IDictionaryEnumerator^ GetEnumerator ()
public IDictionaryEnumerator GetEnumerator ()
public function GetEnumerator () : IDictionaryEnumerator

戻り値
SortedListIDictionaryEnumerator

解説解説

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呼び出します。

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

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

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

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


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

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

辞書ショートカット

すべての辞書の索引

「SortedList.GetEnumerator メソッド」の関連用語

SortedList.GetEnumerator メソッドのお隣キーワード
検索ランキング

   

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



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

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

©2024 GRAS Group, Inc.RSS