SortedSet<T>.Enumerator 構造体
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SortedSet<T> オブジェクトの要素を列挙します。
public: value class SortedSet<T>::Enumerator : System::Collections::Generic::IEnumerator<T>
public: value class SortedSet<T>::Enumerator : System::Collections::Generic::IEnumerator<T>, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public struct SortedSet<T>.Enumerator : System.Collections.Generic.IEnumerator<T>
public struct SortedSet<T>.Enumerator : System.Collections.Generic.IEnumerator<T>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
[System.Serializable]
public struct SortedSet<T>.Enumerator : System.Collections.Generic.IEnumerator<T>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type SortedSet<'T>.Enumerator = struct
interface IEnumerator<'T>
interface IEnumerator
interface IDisposable
type SortedSet<'T>.Enumerator = struct
interface IEnumerator<'T>
interface IEnumerator
interface IDisposable
interface IDeserializationCallback
interface ISerializable
[<System.Serializable>]
type SortedSet<'T>.Enumerator = struct
interface IEnumerator<'T>
interface IDisposable
interface IEnumerator
interface ISerializable
interface IDeserializationCallback
Public Structure SortedSet(Of T).Enumerator
Implements IEnumerator(Of T)
Public Structure SortedSet(Of T).Enumerator
Implements IDeserializationCallback, IEnumerator(Of T), ISerializable
型パラメーター
- T
- 継承
- 属性
- 実装
注釈
foreach
C# 言語の ステートメント (for each
Visual Basic では C++ の場合) は、For Each
列挙子の複雑さを隠します。 したがって、列挙子を直接操作するのではなく、foreach
を使用することをお勧めします。
列挙子を使用すると、コレクション内のデータを読み取ることができますが、基になるコレクションを変更することはできません。
最初、列挙子はコレクションの先頭の要素の前に位置付けられます。 この位置では、Current プロパティは定義されていません。 そのため、Current の値を読み取る前に、MoveNext メソッドを呼び出し、列挙子をコレクションの最初の要素に進める必要があります。
Current は、MoveNext が呼び出されるまでは同じオブジェクトを返します。 MoveNext は、Current を次の要素に進めます。
MoveNext がコレクションの末尾を通過した場合、列挙子がコレクション内の最後の要素の後に配置され、MoveNext は false
を返します。 列挙子がこの位置にある場合、後続の MoveNext 呼び出しも false
を返します。 が返された false
Current の最後のMoveNext呼び出しが未定義の場合。 コレクションの最初の要素にもう一度設定 Current することはできません。代わりに新しい列挙子オブジェクトを作成する必要があります。
列挙子は、コレクションが変更されない限り有効です。 要素の追加、変更、削除など、コレクションに変更が加えられた場合、列挙子は回復不能に無効になり、次に を呼び出すかIEnumerator.Reset、 InvalidOperationExceptionをMoveNextスローします。
列挙子には、コレクションへの排他的アクセス権がありません。したがって、コレクションを介した列挙は、本質的にスレッド セーフなプロシージャではありません。 列挙処理でスレッド セーフを確保するには、列挙処理が終わるまでコレクションをロックできます。 コレクションに対し複数のスレッドがアクセスして読み取りや書き込みを行うことができるようにするには、独自に同期化を実装する必要があります。
System.Collections.Generic 名前空間のコレクションの既定の実装は同期されません。
プロパティ
Current |
列挙子の現在位置の要素を取得します。 |
メソッド
Dispose() |
SortedSet<T>.Enumerator によって使用されているすべてのリソースを解放します。 |
MoveNext() |
列挙子を SortedSet<T> コレクションの次の要素に進めます。 |
明示的なインターフェイスの実装
IDeserializationCallback.OnDeserialization(Object) |
ISerializable インターフェイスを実装し、逆シリアル化が完了したときに逆シリアル化イベントを発生させます。 |
IEnumerator.Current |
列挙子の現在位置の要素を取得します。 |
IEnumerator.Reset() |
列挙子を初期位置、つまりコレクションの最初の要素の前に設定します。 |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
ISerializable インターフェイスを実装し、SortedSet<T> インスタンスをシリアル化するために必要なデータを返します。 |
適用対象
.NET