SortedSet<T>.Enumerator Yapı
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir SortedSet<T> nesnenin öğelerini numaralandırır.
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ür Parametreleri
- T
- Devralma
- Öznitelikler
- Uygulamalar
Açıklamalar
foreach
C# dilinin deyimi (for each
Visual Basic'te C++For Each
'da) numaralandırıcıların karmaşıklığını gizler. Bu nedenle, numaralandırıcıyı doğrudan işlemek yerine kullanılması foreach
önerilir.
Numaralandırıcılar, koleksiyonundaki verileri okumak için kullanılabilir, ancak temel koleksiyonu değiştirmek için kullanılamaz.
Başlangıçta, numaralandırıcı, koleksiyondaki ilk öğenin önüne yerleştirilir. Bu konumda özelliği Current tanımlanmamıştır. Bu nedenle, değerini Currentokumadan önce numaralandırıcıyı koleksiyonun ilk öğesine ilerletmek için yöntemini çağırmanız MoveNext gerekir.
Current çağrılana kadar MoveNext aynı nesneyi döndürür. MoveNext bir sonraki öğeye ayarlar Current .
Koleksiyonun sonunu geçerse MoveNext , numaralandırıcı koleksiyondaki son öğeden sonra konumlandırılır ve MoveNext döndürür false
. Numaralandırıcı bu konumda olduğunda, sonraki çağrıları MoveNext da döndürür false
. döndürülen false
Current son çağrı MoveNext tanımlanmamışsa. Koleksiyonun ilk öğesine yeniden ayarlayamazsınız Current ; bunun yerine yeni bir numaralandırıcı nesnesi oluşturmanız gerekir.
Bir numaralandırıcı, koleksiyon değişmeden kaldığı sürece geçerli kalır. Koleksiyonda öğe ekleme, değiştirme veya silme gibi değişiklikler yapılırsa, numaralandırıcı geri alınamaz şekilde geçersiz kılınmış olur ve bir sonraki çağrısı MoveNext veya IEnumerator.Reset oluşturur InvalidOperationException.
Numaralandırıcının koleksiyona özel erişimi yoktur; Bu nedenle, bir koleksiyonda numaralandırmak, iş parçacığı açısından güvenli bir yordam değildir. Numaralandırma sırasında iş parçacığı güvenliği sağlamak için tüm numaralandırma sırasında koleksiyonu kilitleyebilirsiniz. Okuma ve yazma için birden çok iş parçacığı tarafından erişilecek koleksiyona izin vermek için kendi eşitlemenizi uygulamalısınız.
Ad alanında System.Collections.Generic koleksiyonların varsayılan uygulamaları eşitlenmez.
Özellikler
Current |
Öğeyi numaralandırıcının geçerli konumunda alır. |
Yöntemler
Dispose() |
SortedSet<T>.Enumerator tarafından kullanılan tüm kaynakları serbest bırakır. |
MoveNext() |
Numaralandırıcıyı koleksiyonun sonraki öğesine ilerler SortedSet<T> . |
Belirtik Arabirim Kullanımları
IDeserializationCallback.OnDeserialization(Object) |
Arabirimi uygular ISerializable ve seri durumdan çıkarma işlemi tamamlandığında seri durumdan çıkarma olayını başlatır. |
IEnumerator.Current |
Öğeyi numaralandırıcının geçerli konumunda alır. |
IEnumerator.Reset() |
Numaralandırıcıyı koleksiyondaki ilk öğeden önceki başlangıç konumuna ayarlar. |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Arabirimi uygular ISerializable ve örneği seri hale SortedSet<T> getirmek için gereken verileri döndürür. |