SortedDictionary<TKey,TValue>.Enumerator Struktura
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vyčísluje prvky .SortedDictionary<TKey,TValue>
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
type SortedDictionary<'Key, 'Value>.Enumerator = struct
interface IEnumerator<KeyValuePair<'Key, 'Value>>
interface IDictionaryEnumerator
interface IDisposable
interface IEnumerator
Public Structure SortedDictionary(Of TKey, TValue).Enumerator
Implements IDictionaryEnumerator, IEnumerator(Of KeyValuePair(Of TKey, TValue))
Parametry typu
- TKey
- TValue
- Dědičnost
- Implementuje
Poznámky
Příkaz foreach
jazyka C# (for each
v jazyce C++, For Each
v Visual Basic) skryje složitost výčtů. Proto se doporučuje použít foreach
místo přímé manipulace s enumerátorem.
Enumerátory lze používat ke čtení dat v kolekci, nikoli však k úpravě zdrojové kolekce.
Na začátku je enumerátor umístěn před prvním prvkem v kolekci. V této pozici Current není definováno. MoveNext Před čtením hodnoty Current.
Tato Current vlastnost vrátí stejný objekt, dokud MoveNext se nevolá. MoveNext nastaví Current na další prvek.
Pokud MoveNext předá konec kolekce, enumerátor se umístí za poslední prvek v kolekci a MoveNext vrátí false
. Pokud je enumerátor na této pozici, následná volání, která se MoveNext mají vrátit false
. Pokud se vrátí false
poslední voláníMoveNext, Current není definováno. Znovu nelze nastavit Current první prvek kolekce. Místo toho je nutné vytvořit novou instanci enumerátoru.
Enumerátor zůstane platný, dokud kolekce zůstane beze změny. Pokud jsou v kolekci provedeny změny, jako je přidání, úprava nebo odstranění prvků, enumerátor je nevratně neplatný a další volání MoveNext nebo IEnumerator.Reset vyvolá chybu InvalidOperationException.
Enumerátor nemá výhradní přístup k kolekci; proto výčet prostřednictvím kolekce není vnitřně bezpečným postupem vlákna. Chcete-li zaručit bezpečnost vláken během výčtu, můžete kolekci uzamknout během celého výčtu. Chcete-li více vláknům umožnit přístup ke kolekci pro čtení a zápis, musíte implementovat svou vlastní synchronizaci.
Výchozí implementacekolekcch System.Collections.Generic
Vlastnosti
Current |
Získá prvek na aktuální pozici enumerátoru. |
Metody
Dispose() |
Uvolní všechny prostředky používané nástrojem SortedDictionary<TKey,TValue>.Enumerator. |
MoveNext() |
Posune enumerátor na další prvek SortedDictionary<TKey,TValue>. |
Explicitní implementace rozhraní
IDictionaryEnumerator.Entry |
Získá prvek na aktuální pozici enumerátoru jako DictionaryEntry strukturu. |
IDictionaryEnumerator.Key |
Získá klíč prvku na aktuální pozici enumerátoru. |
IDictionaryEnumerator.Value |
Získá hodnotu prvku na aktuální pozici enumerátoru. |
IEnumerator.Current |
Získá prvek na aktuální pozici enumerátoru. |
IEnumerator.Reset() |
Nastaví enumerátor na počáteční pozici, která je před prvním prvkem v kolekci. |