Aracılığıyla paylaş


SortedDictionary<TKey,TValue>.Enumerator Yapı

Tanım

öğesinin öğelerini SortedDictionary<TKey,TValue>numaralandırır.

public: value class SortedDictionary<TKey, TValue>::Enumerator : System::Collections::Generic::IEnumerator<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::IDictionaryEnumerator
public struct SortedDictionary<TKey,TValue>.Enumerator : System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.IDictionaryEnumerator
type SortedDictionary<'Key, 'Value>.Enumerator = struct
    interface IEnumerator<KeyValuePair<'Key, 'Value>>
    interface IEnumerator
    interface IDisposable
    interface IDictionaryEnumerator
type SortedDictionary<'Key, 'Value>.Enumerator = struct
    interface IEnumerator<KeyValuePair<'Key, 'Value>>
    interface IDisposable
    interface IDictionaryEnumerator
    interface IEnumerator
type SortedDictionary<'Key, 'Value>.Enumerator = struct
    interface IEnumerator<KeyValuePair<'Key, 'Value>>
    interface IDisposable
    interface IEnumerator
    interface IDictionaryEnumerator
type SortedDictionary<'Key, 'Value>.Enumerator = struct
    interface IEnumerator<KeyValuePair<'Key, 'Value>>
    interface IDictionaryEnumerator
    interface IEnumerator
    interface IDisposable
Public Structure SortedDictionary(Of TKey, TValue).Enumerator
Implements IDictionaryEnumerator, IEnumerator(Of KeyValuePair(Of TKey, TValue))

Tür Parametreleri

TKey
TValue
Devralma
SortedDictionary<TKey,TValue>.Enumerator
Uygulamalar

Açıklamalar

foreach C# dilinin deyimi (for eachVisual Basic'te C++For Each'ta) numaralandırıcıların karmaşıklığını gizler. Bu nedenle, numaralandırıcıyı doğrudan düzenlemek 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 Current tanımlanmamıştır. değerini Currentokumadan önce numaralandırıcıyı koleksiyonun ilk öğesine ilerletmek için yöntemini çağırmalısınızMoveNext.

özelliği 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 son çağrı MoveNextfalseCurrent tanımlanmamışsa. Koleksiyonun ilk öğesine yeniden ayarlayamazsınız Current ; bunun yerine yeni bir numaralandırıcı örneği 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 kullanım erişimi yok; bu nedenle, bir koleksiyon içinde numaralandırma aslında bir iş parçacığı açısından güvenli 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()

SortedDictionary<TKey,TValue>.Enumerator tarafından kullanılan tüm kaynakları serbest bırakır.

MoveNext()

Numaralandırıcıyı öğesinin sonraki öğesine ilerler SortedDictionary<TKey,TValue>.

Belirtik Arabirim Kullanımları

IDictionaryEnumerator.Entry

Öğeyi numaralandırıcının geçerli konumunda bir DictionaryEntry yapı olarak alır.

IDictionaryEnumerator.Key

Öğesinin anahtarını numaralandırıcının geçerli konumunda alır.

IDictionaryEnumerator.Value

Numaralandırıcının geçerli konumunda öğenin değerini alır.

IEnumerator.Current

Öğeyi numaralandırıcının geçerli konumunda alır.

IEnumerator.Reset()

Numaralandırıcıyı koleksiyondaki ilk öğeden önceki ilk konumuna ayarlar.

Şunlara uygulanır

Ayrıca bkz.