Exporter (0) Imprimer
Développer tout
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.

System.Object
  System.CharEnumerator

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

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

Le type CharEnumerator expose les membres suivants.

  NomDescription
Propriété publiquePris en charge par XNA FrameworkCurrentObtient le caractère actuellement référencé dans la chaîne énumérée par cet objet CharEnumerator.
Début

  NomDescription
Méthode publiquePris en charge par XNA FrameworkCloneCrée une copie de l'objet CharEnumerator en cours.
Méthode publiqueDisposeLibère toutes les ressources utilisées par l'instance actuelle de la classe CharEnumerator.
Méthode publiquePris en charge par XNA FrameworkEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkMoveNextIncrémente l'index interne de l'objet CharEnumerator actuel jusqu'au caractère suivant de la chaîne énumérée.
Méthode publiquePris en charge par XNA FrameworkResetInitialise logiquement l'index à une position figurant avant le premier caractère de la chaîne énumérée.
Méthode publiquePris en charge par XNA FrameworkToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Début

  NomDescription
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIDisposable.DisposeLibère toutes les ressources utilisées par la classe CharEnumerator.
Implémentation d'interface explicitePropriété privéePris en charge par XNA FrameworkIEnumerator.CurrentInfrastructure. Obtient le caractère actuellement référencé dans la chaîne énumérée par cet objet CharEnumerator. Pour obtenir une description de ce membre, consultez IEnumerator.Current.
Début

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.

RemarqueRemarque

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

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

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

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft