Bagikan melalui


SortedSet<T>.Enumerator Struktur

Definisi

Menghitung elemen SortedSet<T> objek.

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

Jenis parameter

T
Warisan
SortedSet<T>.Enumerator
Atribut
Penerapan

Keterangan

Pernyataan foreach bahasa C# (For Each dalam Visual Basic) menyembunyikan kompleksitas enumerator. Oleh karena itu, penggunaan foreach disarankan, alih-alih langsung memanipulasi enumerator.

Enumerator dapat digunakan untuk membaca data dalam koleksi, tetapi tidak dapat digunakan untuk memodifikasi koleksi yang mendasar.

Awalnya, enumerator diposisikan sebelum elemen pertama dalam koleksi. Pada posisi ini, Current properti tidak terdefinisi. Oleh karena itu, Anda harus memanggil MoveNext metode untuk memajukan enumerator ke elemen pertama koleksi sebelum membaca nilai Current.

Current mengembalikan objek yang sama hingga MoveNext dipanggil. MoveNext Current diatur ke elemen berikutnya.

Jika MoveNext melewati akhir koleksi, enumerator diposisikan setelah elemen terakhir dalam koleksi dan MoveNext mengembalikan false. Ketika enumerator berada di posisi ini, panggilan berikutnya untuk MoveNext juga mengembalikan false. Jika panggilan terakhir yang MoveNext dikembalikan false, Current tidak ditentukan. Anda tidak dapat mengatur Current ke elemen pertama koleksi lagi; Anda harus membuat objek enumerator baru sebagai gantinya.

Enumerator tetap valid selama koleksi tetap tidak berubah. Jika perubahan dilakukan pada koleksi, seperti menambahkan, memodifikasi, atau menghapus elemen, enumerator tidak valid dan panggilan berikutnya ke MoveNext atau IEnumerator.Reset melemparkan InvalidOperationException.

Enumerator tidak memiliki akses eksklusif ke koleksi; oleh karena itu, menghitung melalui koleksi secara intrinsik bukan prosedur aman utas. Untuk menjamin keamanan utas selama enumerasi, Anda dapat mengunci koleksi selama seluruh enumerasi. Untuk memungkinkan koleksi diakses oleh beberapa utas untuk membaca dan menulis, Anda harus menerapkan sinkronisasi Anda sendiri.

Implementasi default koleksi di System.Collections.Generic namespace tidak disinkronkan.

Properti

Nama Deskripsi
Current

Mendapatkan elemen pada posisi enumerator saat ini.

Metode

Nama Deskripsi
Dispose()

Merilis semua sumber daya yang SortedSet<T>.Enumeratordigunakan oleh .

MoveNext()

Memajukan enumerator ke elemen SortedSet<T> koleksi berikutnya.

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IDeserializationCallback.OnDeserialization(Object)

ISerializable Menerapkan antarmuka dan meningkatkan peristiwa deserialisasi ketika deserialisasi selesai.

IEnumerator.Current

Mendapatkan elemen pada posisi enumerator saat ini.

IEnumerator.Reset()

Mengatur enumerator ke posisi awalnya, yaitu sebelum elemen pertama dalam koleksi.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

ISerializable Mengimplementasikan antarmuka dan mengembalikan data yang diperlukan untuk membuat serialisasi SortedSet<T> instans.

Berlaku untuk