List.Enumeratorとは? わかりやすく解説

List.Enumerator ジェネリック構造体

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

List の要素を列挙します。

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

<SerializableAttribute> _
Public Structure Enumerator
    Implements IEnumerator(Of T), IDisposable,
 _
    IEnumerator
[SerializableAttribute] 
public struct Enumerator : IEnumerator<T>, IDisposable,
 
    IEnumerator
[SerializableAttribute] 
public value class Enumerator : IEnumerator<T>,
 IDisposable, 
    IEnumerator
J# では、ジェネリックな型およびメソッドは使用できますが、新規に宣言することはできません。
JScript では、ジェネリックな型およびメソッドは使用できません。
解説解説

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

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

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

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

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

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

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

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

スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

List.Enumerator プロパティ


List.Enumerator メソッド


List.Enumerator メンバ

List の要素を列挙します。

List.Enumerator ジェネリック型で公開されるメンバを以下の表に示します。


パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.IEnumerator.Reset 列挙子を初期位置、つまりコレクションの最初の要素の前に設定します。
インターフェイスの明示的な実装 System.Collections.IEnumerator.Current 列挙子の現在位置の要素を取得します。
参照参照

関連項目

List.Enumerator ジェネリック構造体
System.Collections.Generic 名前空間
IEnumerable ジェネリック インターフェイス
IEnumerator ジェネリック インターフェイス



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「List.Enumerator」の関連用語

List.Enumeratorのお隣キーワード
検索ランキング

   

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



List.Enumeratorのページの著作権

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

©2026 GRAS Group, Inc.RSS