Dictionary<TKey,TValue>.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.
öğesinin öğelerini Dictionary<TKey,TValue>numaralandırır.
public: value class Dictionary<TKey, TValue>::Enumerator : System::Collections::Generic::IEnumerator<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::IDictionaryEnumerator
public struct Dictionary<TKey,TValue>.Enumerator : System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.IDictionaryEnumerator
[System.Serializable]
public struct Dictionary<TKey,TValue>.Enumerator : System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.IDictionaryEnumerator
type Dictionary<'Key, 'Value>.Enumerator = struct
interface IEnumerator<KeyValuePair<'Key, 'Value>>
interface IEnumerator
interface IDisposable
interface IDictionaryEnumerator
[<System.Serializable>]
type Dictionary<'Key, 'Value>.Enumerator = struct
interface IEnumerator<KeyValuePair<'Key, 'Value>>
interface IDisposable
interface IDictionaryEnumerator
interface IEnumerator
[<System.Serializable>]
type Dictionary<'Key, 'Value>.Enumerator = struct
interface IEnumerator<KeyValuePair<'Key, 'Value>>
interface IDisposable
interface IEnumerator
interface IDictionaryEnumerator
type Dictionary<'Key, 'Value>.Enumerator = struct
interface IEnumerator<KeyValuePair<'Key, 'Value>>
interface IDictionaryEnumerator
interface IEnumerator
interface IDisposable
Public Structure Dictionary(Of TKey, TValue).Enumerator
Implements IDictionaryEnumerator, IEnumerator(Of KeyValuePair(Of TKey, TValue))
Tür Parametreleri
- TKey
- TValue
- Devralma
- Öznitelikler
- Uygulamalar
Açıklamalar
foreach C# dilinin deyimi (For EachVisual Basic'te) 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 koleksiyondaki verileri okumak için kullanılabilir, ancak temel koleksiyonu değiştirmek için kullanılamaz.
Başlangıçta, numaralandırıcı koleksiyondaki ilk öğeden önce konumlandırılır. Bu konumda tanımlanmamıştır Current . değerini MoveNextokumadan önce numaralandırıcıyı koleksiyonun ilk öğesine ilerletmek için çağırmalısınızCurrent.
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 MoveNextfalse son çağrı Current 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şmediği sürece geçerli kalır. Koleksiyonda öğe ekleme veya kapasiteyi değiştirme 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ı veya MoveNextIEnumerator.Reset oluşturur InvalidOperationException.
Yalnızca .NET Core 3.0+ : Numaralandırıcıları geçersiz kılmayan tek sessize alma yöntemleri ve Remove'tirClear.
Numaralandırıcının koleksiyona özel erişimi yoktur; Bu nedenle, bir koleksiyon aracılığıyla numaralandırma, iş parçacığı açısından güvenli bir yordam değildir. Numaralandırma sırasında iş parçacığı güvenliğini garanti etmek için, tüm numaralandırma sırasında koleksiyonu kilitleyebilirsiniz. Koleksiyona okuma ve yazma için birden çok iş parçacığı tarafından erişilmesine izin vermek için kendi eşitlemenizi uygulamanız gerekir.
içindeki System.Collections.Generic koleksiyonların varsayılan uygulamaları eşitlenmez.
Özellikler
| Name | Description |
|---|---|
| Current |
Öğesini numaralandırıcının geçerli konumunda alır. |
Yöntemler
| Name | Description |
|---|---|
| Dispose() |
tarafından Dictionary<TKey,TValue>.Enumeratorkullanılan tüm kaynakları serbest bırakır. |
| MoveNext() |
Numaralandırıcıyı öğesinin sonraki öğesine ilerler Dictionary<TKey,TValue>. |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| IDictionaryEnumerator.Entry |
Öğesini numaralandırıcının geçerli konumunda alır. |
| IDictionaryEnumerator.Key |
Öğesinin anahtarını numaralandırıcının geçerli konumunda alır. |
| IDictionaryEnumerator.Value |
Öğesinin değerini numaralandırıcının geçerli konumunda alır. |
| IEnumerator.Current |
Öğesini numaralandırıcının geçerli konumunda alır. |
| IEnumerator.Reset() |
Numaralandırıcıyı, koleksiyondaki ilk öğeden önceki ilk konumuna ayarlar. |