Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

CharEnumerator-Klasse

 

Veröffentlicht: Oktober 2016

Unterstützt das Durchlaufen eines String-Objekts und Lesen seiner einzelnen Zeichen. Diese Klasse kann nicht vererbt werden.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.CharEnumerator

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

NameBeschreibung
System_CAPS_pubpropertyCurrent

Ruft das aktuell verwiesen wird Zeichen in der Zeichenfolge, die von diesem aufgezählt CharEnumerator Objekt.

NameBeschreibung
System_CAPS_pubmethodClone()

Erstellt eine Kopie des aktuellen CharEnumerator Objekt.

System_CAPS_pubmethodDispose()

Gibt alle von der aktuellen Instanz der CharEnumerator-Klasse verwendeten Ressourcen frei.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodMoveNext()

Inkrementiert den internen Index des aktuellen CharEnumerator -Objekt, das nächste Zeichen der aufgelisteten Zeichenfolge.

System_CAPS_pubmethodReset()

Initialisiert den Index auf eine Position logisch vor dem ersten Zeichen der aufgelisteten Zeichenfolge.

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privpropertyIEnumerator.Current

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Ruft das aktuell verwiesen wird Zeichen in der Zeichenfolge, die von diesem aufgelistet CharEnumerator Objekt. Eine Beschreibung dieses Elements finden Sie unter 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_noteHinweis

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
Verfügbar seit 1.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: