StringKeyFrameCollection.GetEnumerator Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne un énumérateur qui peut itérer au sein de la collection.
public:
virtual System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator ();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator
Retours
Valeur de type IEnumerator qui peut effectuer une itération au sein de la collection.
Implémente
Remarques
Les énumérateurs autorisent uniquement la lecture des données dans la collection. Les énumérateurs ne peuvent pas être utilisés pour modifier la collection sous-jacente.
Initialement, l’énumérateur est positionné avant le premier élément de la collection. Reset replace également l'énumérateur à cette position. À cette position, l’appel Current lève une exception. Par conséquent, vous devez appeler MoveNext pour faire avancer l’énumérateur vers le premier élément de la collection avant de lire la valeur de Current.
Current retourne le même objet tant que MoveNext ou Reset n'est pas appelé. MoveNext définit Current l’élément suivant.
Une fois la fin de la collection passée, l’énumérateur est positionné après le dernier élément de la collection et l’appel MoveNext retourne false
. Si le dernier appel à MoveNext retourner false
, l’appel Current lève une exception. Pour définir Current à nouveau le premier élément de la collection, vous pouvez appeler Reset suivi de MoveNext.
Un énumérateur reste valide aussi longtemps que la collection demeure inchangée. Si des modifications sont apportées à la collection, comme l’ajout, la modification ou la suppression d’éléments, l’énumérateur est irrécupérablement invalidé et l’appel suivant à MoveNext ou Reset lève un InvalidOperationException. Si la collection est modifiée entre MoveNext et Current, Current retourne l’élément sur lequel il est défini, même si l’énumérateur est déjà invalidé.
Comme l’énumérateur ne dispose pas d’un accès exclusif à la collection, l’énumération d’une collection n’est pas intrinsèquement une procédure thread-safe. Même lorsqu’une collection est synchronisée, d’autres threads peuvent toujours modifier la collection, ce qui entraîne la levée d’une exception par l’énumérateur. Pour garantir la sécurité des threads au cours de l’énumération, vous pouvez verrouiller la collection pendant l’ensemble de l’énumération ou bien intercepter les exceptions résultant des modifications apportées par les autres threads.