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

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

Collection.GetEnumerator メソッド

Collection オブジェクト (Visual Basic) に対す反復処理使用する列挙オブジェクトへの参照返します

名前空間: Microsoft.VisualBasic
アセンブリ: Microsoft.VisualBasic (microsoft.visualbasic.dll 内)
構文構文

解説解説
使用例使用例

GetEnumerator使用して Collection オブジェクトすべての要素取得する例を次に示します

Dim customers As New Collection
' Insert code to add elements to the customers collection.
Dim custEnum As IEnumerator = customers.GetEnumerator()
custEnum.Reset()
Dim thisCustomer As Object
While custEnum.MoveNext()
    thisCustomer = custEnum.Current()
    ' Insert code to process this element of the collection.
End While

GetEnumerator は、列挙オブジェクト構築して返します列挙オブジェクトは、System.Collections 名前空間の IEnumerator インターフェイス実装ます。列挙オブジェクトは、Current プロパティと、MoveNext メソッドおよび Reset メソッド公開します詳細については、「For Each...Next ステートメント (Visual Basic)」を参照してください

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

Collection.GetEnumerator メソッド

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

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

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

Public Function GetEnumerator As
 IEnumerator(Of T)
Dim instance As Collection(Of
 T)
Dim returnValue As IEnumerator(Of
 T)

returnValue = instance.GetEnumerator
public IEnumerator<T> GetEnumerator ()

戻り値
Collection の 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) 操作です。

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


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

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

辞書ショートカット

すべての辞書の索引

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

   

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



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

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

©2024 GRAS Group, Inc.RSS