CharEnumerator Classe
TOC
Réduire la table des matières
Développer la table des matières
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

CharEnumerator, classe

 

Prend en charge l'itération au sein d'un objet String et la lecture de ses caractères individuels.Cette classe ne peut pas être héritée.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

System.Object
  System.CharEnumerator

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class CharEnumerator : IEnumerator, ICloneable, 
	IEnumerator<char>, IDisposable

NomDescription
System_CAPS_pubpropertyCurrent

Obtient le caractère actuellement référencé dans la chaîne énumérée par cet objet CharEnumerator.

NomDescription
System_CAPS_pubmethodClone()

Crée une copie de l'objet CharEnumerator en cours.

System_CAPS_pubmethodDispose()

Libère toutes les ressources utilisées par l'instance actuelle de la classe CharEnumerator.

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut. (Hérité de Object.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodMoveNext()

Incrémente l'index interne de l'objet CharEnumerator actuel jusqu'au caractère suivant de la chaîne énumérée.

System_CAPS_pubmethodReset()

Initialise logiquement l'index à une position figurant avant le premier caractère de la chaîne énumérée.

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

CharEnumerator fournit un accès en lecture seule aux caractères figurant dans un objet String référencé.Par exemple, l'instruction foreach des langages de programmation Microsoft Visual Basic et C#, qui itère au sein des éléments d'une collection, récupère CharEnumerator d'un objet de String afin d'itérer au sein des caractères figurant dans cet objet.

Il n'existe pas de constructeur public pour CharEnumerator.Appelez plutôt la méthode GetEnumerator d'un objet String pour obtenir un CharEnumerator qui est initialisé pour référencer la chaîne.

CharEnumerator gère un index interne pour les caractères figurant dans la chaîne référencée par CharEnumerator.L'état de l'index est non valide lorsqu'il référence logiquement une position de caractère avant le premier caractère ou après le dernier caractère de la chaîne et il est valide lorsqu'il référence un caractère figurant dans la chaîne.L'index est logiquement initialisé à une position figurant avant le premier caractère et est affecté à une position située après le dernier caractère lorsque l'itération est terminée.Une exception est levée lorsque vous tentez d'accéder à un caractère tandis que l'index est non valide.

La méthode MoveNext incrémente l'index d'une unité, de sorte que le premier caractère et le caractère suivant fassent l'objet d'un accès alternativement.La méthode Reset affecte logiquement une position à l'index avant le premier caractère.La propriété Current récupère le caractère actuellement référencé par l'index.La méthode Clone crée une copie de CharEnumerator.

System_CAPS_noteRemarque

Plusieurs instances indépendantes de CharEnumerator sur un ou plusieurs threads peuvent accéder à une seule instance de String.Cette classe est implémentée pour prendre en charge l'interface IEnumerator.Pour plus d'informations sur l'utilisation d'un énumérateur, consultez la rubrique IEnumerator.

L'exemple suivant utilise la classe CharEnumerator pour énumérer les différents caractères d'une chaîne.Il instancie un objet CharEnumerator en appelant la méthode String.GetEnumerator, passe d'un caractère au suivant en appelant la méthode MoveNext, et affiche le caractère actuel en récupérant la valeur de la propriété Current.

string title = "A Tale of Two Cities";
CharEnumerator chEnum = title.GetEnumerator();
int ctr = 1;
string outputLine1 = null;
string outputLine2 = null;
string outputLine3 = null; 

while (chEnum.MoveNext())
{
   outputLine1 += ctr < 10 || ctr % 10 != 0 ? "  " : (ctr / 10) + " ";
   outputLine2 += (ctr % 10) + " ";
   outputLine3 += chEnum.Current + " ";
   ctr++;
}

Console.WriteLine("The length of the string is {0} characters:", 
                  title.Length);
Console.WriteLine(outputLine1);
Console.WriteLine(outputLine2);    
Console.WriteLine(outputLine3);
// The example displays the following output to the console:      
//       The length of the string is 20 characters:
//                         1                   2
//       1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
//       A   T a l e   o f   T w o   C i t i e s

Notez toutefois que la même opération peut être effectuée plus intuitivement en utilisant foreach (en C#) ou For Each (dans Visual Basic), comme illustré dans l'exemple suivant.

string title = "A Tale of Two Cities";
int ctr = 1;
string outputLine1 = null;
string outputLine2 = null;
string outputLine3 = null; 

foreach (char ch in title)
{
   outputLine1 += ctr < 10 || ctr % 10 != 0 ? "  " : (ctr / 10) + " ";
   outputLine2 += (ctr % 10) + " ";
   outputLine3 += ch + " ";
   ctr++;
}

Console.WriteLine("The length of the string is {0} characters:", 
                  title.Length);
Console.WriteLine(outputLine1);
Console.WriteLine(outputLine2);    
Console.WriteLine(outputLine3);
// The example displays the following output to the console:      
//       The length of the string is 20 characters:
//                         1                   2
//       1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
//       A   T a l e   o f   T w o   C i t i e s

.NET Framework
Disponible depuis 1.1

Tous les membres statiques (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Retour au début
Afficher:
© 2016 Microsoft