Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe CharEnumerator

 

Data di pubblicazione: ottobre 2016

Supporta lo scorrimento su un oggetto String e la lettura dei singoli caratteri. Questa classe non può essere ereditata.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.CharEnumerator

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

NomeDescrizione
System_CAPS_pubpropertyCurrent

Ottiene il carattere di cui fa attualmente riferimento nella stringa enumerata questo CharEnumerator oggetto.

NomeDescrizione
System_CAPS_pubmethodClone()

Crea una copia dell'oggetto corrente CharEnumerator oggetto.

System_CAPS_pubmethodDispose()

Rilascia tutte le risorse usate dall'istanza corrente della classe CharEnumerator.

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodMoveNext()

Incrementa l'indice dell'oggetto interno CharEnumerator oggetto per il carattere successivo della stringa enumerata.

System_CAPS_pubmethodReset()

Inizializza l'indice in una posizione logicamente prima del primo carattere della stringa enumerata.

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

NomeDescrizione
System_CAPS_pubinterfaceSystem_CAPS_privpropertyIEnumerator.Current

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Ottiene il carattere di cui fa attualmente riferimento nella stringa enumerata questo CharEnumerator oggetto. Per una descrizione di questo membro, vedere IEnumerator.Current.

A T:System.CharEnumerator provides read-only access to the characters in a referenced T:System.String object. For example, the foreach statement of the Microsoft Visual Basic and C# programming languages, which iterates through the elements of a collection, retrieves a T:System.CharEnumerator from a T:System.String object in order to iterate through the characters in that object.

There is no public constructor for T:System.CharEnumerator. Instead, call a T:System.String object's M:System.String.GetEnumerator method to obtain a T:System.CharEnumerator that is initialized to reference the string.

A T:System.CharEnumerator maintains an internal index to the characters in the string the T:System.CharEnumerator references. The state of the index is invalid when it references a character position logically before the first character or after the last character in the string, and valid when it references a character within the string. The index is initialized to a position logically before the first character, and is set to a position after the last character when the iteration is complete. An exception is thrown if you attempt to access a character while the index is invalid.

The M:System.CharEnumerator.MoveNext method increments the index by one, so the first and subsequent characters are accessed in turn. The M:System.CharEnumerator.Reset method sets the index to a position logically before the first character. The P:System.CharEnumerator.Current property retrieves the character currently referenced by index. The M:System.CharEnumerator.Clone method creates a copy of the T:System.CharEnumerator.

System_CAPS_noteNota

Several independent instances of T:System.CharEnumerator across one or more threads can have access to a single instance of T:System.String. This class is implemented to support the T:System.Collections.IEnumerator interface. For more information regarding the use of an enumerator, see the T:System.Collections.IEnumerator topic.

The following example uses the T:System.CharEnumerator class to enumerate the individual characters in a string. It instantiates a T:System.CharEnumerator object by calling the M:System.String.GetEnumerator method, moves from one character to the next by calling the M:System.CharEnumerator.MoveNext method, and displays the current character by retrieving the value of the P:System.CharEnumerator.Current property.

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

Note, however, that the same operation can be performed somewhat more intuitively by using foreach (in C#) or For Each (in Visual Basic), as the following example shows.

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
Disponibile da 1.1

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: