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

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

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

LinkedList要素列挙します

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

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

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 のコレクション既定実装同期されません。

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

LinkedList.Enumerator プロパティ


LinkedList.Enumerator メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.IEnumerator.Reset 列挙子を初期位置、つまりコレクション最初要素前に設定します。このクラス継承できません。
インターフェイスの明示的な実装 System.Runtime.Serialization.IDeserializationCallback.OnDeserialization System.Runtime.Serialization.ISerializable インターフェイス実装し、逆シリアル化完了したときに逆シリアル化イベント発生させます
インターフェイスの明示的な実装 System.Runtime.Serialization.ISerializable.GetObjectData System.Runtime.Serialization.ISerializable インターフェイス実装し、LinkedList インスタンスシリアル化するために必要なデータ返します
参照参照

関連項目

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

LinkedList.Enumerator メンバ

LinkedList要素列挙します

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


パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.IEnumerator.Reset 列挙子を初期位置、つまりコレクション最初要素前に設定します。このクラス継承できません。
インターフェイスの明示的な実装 System.Runtime.Serialization.IDeserializationCallback.OnDeserialization System.Runtime.Serialization.ISerializable インターフェイス実装し、逆シリアル化完了したときに逆シリアル化イベント発生させます
インターフェイスの明示的な実装 System.Runtime.Serialization.ISerializable.GetObjectData System.Runtime.Serialization.ISerializable インターフェイス実装し、LinkedList インスタンスシリアル化するために必要なデータ返します
インターフェイスの明示的な実装 System.Collections.IEnumerator.Current 列挙子の現在位置要素取得します
参照参照

関連項目

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



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

辞書ショートカット

すべての辞書の索引

「LinkedList.Enumerator」の関連用語

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

   

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



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

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

©2024 GRAS Group, Inc.RSS