(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

CharEnumerator-Klasse

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

System.Object
  System.CharEnumerator

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

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

Der CharEnumerator-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von XNA FrameworkCurrentRuft das Zeichen in der von diesem CharEnumerator-Objekt durchlaufenen Zeichenfolge ab, auf das zurzeit verwiesen wird.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkCloneErstellt eine Kopie des aktuellen CharEnumerator-Objekts.
Öffentliche MethodeDisposeGibt alle von der aktuellen Instanz der CharEnumerator-Klasse verwendeten Ressourcen frei.
Öffentliche MethodeUnterstützt von XNA FrameworkEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkMoveNextInkrementiert den internen Index des aktuellen CharEnumerator-Objekts zum nächsten Zeichen der aufgelisteten Zeichenfolge.
Öffentliche MethodeUnterstützt von XNA FrameworkResetInitialisiert den Index auf eine Position, die sich logisch vor dem ersten Zeichen der aufgelisteten Zeichenfolge befindet.
Öffentliche MethodeUnterstützt von XNA FrameworkToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIDisposable.DisposeGibt alle von der CharEnumerator-Klasse verwendeten Ressourcen frei.
Explizite SchnittstellenimplementierungPrivate EigenschaftUnterstützt von XNA FrameworkIEnumerator.CurrentInfrastruktur. Ruft das Zeichen in der von diesem CharEnumerator-Objekt durchlaufenen Zeichenfolge ab, auf das zurzeit verwiesen wird. Eine Beschreibung dieses Members finden Sie unter IEnumerator.Current.
Zum Seitenanfang

Ein CharEnumerator stellt schreibgeschützten Zugriff auf die Zeichen eines String-Objekts bereit, auf das verwiesen wird. Die Anweisung foreach der Programmiersprachen Microsoft Visual Basic und C#, die die Elemente einer Auflistung durchläuft, ruft z. B. einen CharEnumerator aus einem String-Objekt ab, um die Zeichen in diesem Objekt zu durchlaufen.

Es gibt keinen öffentlichen Konstruktor für CharEnumerator. Stattdessen liefert der Aufruf der GetEnumerator-Methode eines String-Objekts einen CharEnumerator, der mit einem Verweis auf die Zeichenfolge initialisiert wird.

Ein CharEnumerator verwaltet einen internen Index für die Zeichen der Zeichenfolge, auf die der CharEnumerator verweist. Der Zustand des Index ist ungültig, wenn er auf eine Zeichenposition verweist, die sich logisch vor dem ersten oder hinter dem letzten Zeichen der Zeichenfolge befindet, und er ist gültig, wenn er auf ein Zeichen innerhalb der Zeichenfolge verweist. Der Index wird mit einer Position initialisiert, die sich logisch vor dem ersten Zeichen befindet, und er wird nach Abschluss der Iteration auf eine Position hinter dem letzten Zeichen festgelegt. Beim Versuch, auf ein Zeichen zuzugreifen, während der Index ungültig ist, wird eine Ausnahme ausgelöst.

Die MoveNext-Methode erhöht den Index um 1. Dadurch wird zuerst auf das erste und dann auf das jeweils nachfolgende Zeichen zugegriffen. Die Reset-Methode legt den Index auf eine Position fest, die sich logisch vor dem ersten Zeichen befindet. Die Current-Eigenschaft ruft das Zeichen ab, auf das der Index derzeit verweist. Die Clone-Methode erstellt eine Kopie des CharEnumerator.

HinweisHinweis

Mehrere unabhängige Instanzen von CharEnumerator können aus einem oder mehreren Threads auf dieselbe Instanz von String zugreifen. Diese Klasse ist zur Unterstützung der IEnumerator-Schnittstelle implementiert. Weitere Informationen über die Verwendung von Enumeratoren finden Sie unter dem Thema IEnumerator.

Im folgenden Beispiel werden mithilfe der CharEnumerator-Klasse die einzelnen Zeichen in einer Zeichenfolge aufgelistet. Ein CharEnumerator-Objekt wird durch Aufrufen der String.GetEnumerator-Methode instanziiert, und es wird von einem Zeichen zum nächsten gewechselt, indem die MoveNext-Methode aufgerufen wird. Außerdem wird das aktuelle Zeichen angezeigt, indem der Wert der Current-Eigenschaft abgerufen wird.


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


Wie im folgenden Beispiel veranschaulicht, kann derselbe Vorgang mit foreach (in C#) oder For Each (in Visual Basic) intuitiver durchgeführt werden.


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

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 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 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft