IDictionary.GetEnumerator Metoda

Definice

Vrátí IDictionaryEnumerator objekt pro IDictionary objekt .

public:
 System::Collections::IDictionaryEnumerator ^ GetEnumerator();
public System.Collections.IDictionaryEnumerator GetEnumerator ();
abstract member GetEnumerator : unit -> System.Collections.IDictionaryEnumerator
Public Function GetEnumerator () As IDictionaryEnumerator

Návraty

IDictionaryEnumerator

Objekt IDictionaryEnumerator pro IDictionary objekt .

Poznámky

Příkaz jazyka C# ( v Visual Basic) skrývá foreach složitost for each enumerátorů. Použití se proto doporučuje místo přímé foreach manipulace s enumerátorem.

Enumerátory lze používat ke čtení dat v kolekci, nikoli však k úpravě zdrojové kolekce.

Enumerátor je zpočátku umístěn před prvním prvkem v kolekci. Reset také vrátí enumerátor zpět na tuto pozici. Na této pozici Current není vlastnost definována. Proto je nutné volat k přechodu enumerátoru na první prvek kolekce MoveNext před načtením hodnoty Current .

Current vrátí stejný objekt, dokud není MoveNext volána metoda nebo Reset . MoveNext nastaví Current na další prvek.

Pokud MoveNext předá konec kolekce, je enumerátor umístěný za posledním prvkem v kolekci a MoveNext vrátí hodnotu false . Pokud je enumerátor na této pozici, následné volání vrátí MoveNext také false . Pokud poslední volání funkce MoveNext vrátilo false , není Current definováno. Pokud chcete znovu nastavit na první prvek kolekce, můžete Current volat a pak Reset MoveNext .

Enumerátor zůstane platný, dokud kolekce zůstane beze změny. Pokud jsou v kolekci provedeny změny, například přidání, úprava nebo odstranění prvků, enumerátor je neopravitelně zneplatněn a jeho chování není definováno.

Enumerátor nemá výhradní přístup ke kolekci. Proto vytváření výčtu prostřednictvím kolekce není vnitřně procedurou bezpečnou pro více vláken. Chcete-li zaručit bezpečnost vlákna během výčtu, můžete zamknout kolekci 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.

Platí pro

Viz také