PersonalizationStateInfoCollection.GetEnumerator Méthode

Définition

Retourne un énumérateur standard capable d'itérer sur la collection. Cette méthode ne peut pas être héritée.

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

IEnumerator qui peut être utilisé pour itérer la collection.

Implémente

Remarques

Les énumérateurs peuvent être utilisés pour lire les données de la collection, mais ils ne permettent pas de modifier la collection sous-jacente.

Au départ, l'énumérateur est positionné avant le premier élément de la collection. La Reset méthode ramène également l’énumérateur à cette position. À cette position, la Current propriété n’est pas définie. Par conséquent, vous devez appeler la MoveNext méthode pour faire avancer l’énumérateur vers le premier élément de la collection avant de lire la valeur de Current. Pour plus d’informations sur les énumérateurs, consultez IEnumerator.

Un énumérateur reste valide aussi longtemps que la collection demeure inchangée. Si des modifications sont apportées à la collection, telles que l’ajout, la modification ou la suppression d’éléments, l’énumérateur est définitivement invalidé et son comportement n’est pas défini.

L'instruction foreach du langage C# (for each en Visual Basic) se charge de la complexité des énumérateurs. Il est donc recommandé d'utiliser foreach plutôt que de manipuler l'énumérateur directement.

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. Pour garantir la sécurité des threads pendant l'énumération, vous pouvez verrouiller la collection tout au long de cette opération. Pour permettre à plusieurs threads d’accéder en lecture et en écriture à la collection, vous devez implémenter votre propre synchronisation.

S’applique à