TextElementEnumerator TextElementEnumerator TextElementEnumerator TextElementEnumerator Class

Definition

Listet die Textelemente einer Zeichenfolge auf.Enumerates the text elements of a string.

public ref class TextElementEnumerator : System::Collections::IEnumerator
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class TextElementEnumerator : System.Collections.IEnumerator
type TextElementEnumerator = class
    interface IEnumerator
Public Class TextElementEnumerator
Implements IEnumerator
Vererbung
TextElementEnumeratorTextElementEnumeratorTextElementEnumeratorTextElementEnumerator
Attribute
Implementiert

Beispiele

Im folgenden Beispiel wird die TextElementEnumerator Klasse zum Aufzählen von die Textelemente einer Zeichenfolge.The following example uses the TextElementEnumerator class to enumerate the text elements of a string.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Creates and initializes a String containing the following:
   //   - a surrogate pair (high surrogate U+D800 and low surrogate U+DC00)
   //   - a combining character sequence (the Latin small letter S"a" followed by the combining grave accent)
   //   - a base character (the ligature S"")
   String^ myString = L"\xD800\xDC00"
   L"a\u0300\u00C6";
   
   // Creates and initializes a TextElementEnumerator for myString.
   TextElementEnumerator^ myTEE = StringInfo::GetTextElementEnumerator( myString );
   
   // Displays the values returned by ElementIndex, Current and GetTextElement.
   // Current and GetTextElement return a String* containing the entire text element. 
   Console::WriteLine( "Index\tCurrent\tGetTextElement" );
   myTEE->Reset();
   while ( myTEE->MoveNext() )
      Console::WriteLine( "[{0}]:\t {1}\t {2}", myTEE->ElementIndex, myTEE->Current, myTEE->GetTextElement() );
}

/*
This code produces the following output.  The question marks take the place of high and low surrogates.

Index   Current GetTextElement
[0]:    ??      ??
[2]:    a`      a`
[4]:    Æ       Æ

*/
using System;
using System.Globalization;


public class SamplesTextElementEnumerator  {

   public static void Main()  {

      // Creates and initializes a String containing the following:
      //   - a surrogate pair (high surrogate U+D800 and low surrogate U+DC00)
      //   - a combining character sequence (the Latin small letter "a" followed by the combining grave accent)
      //   - a base character (the ligature "")
      String myString = "\uD800\uDC00\u0061\u0300\u00C6";

      // Creates and initializes a TextElementEnumerator for myString.
      TextElementEnumerator myTEE = StringInfo.GetTextElementEnumerator( myString );

      // Displays the values returned by ElementIndex, Current and GetTextElement.
      // Current and GetTextElement return a string containing the entire text element. 
      Console.WriteLine( "Index\tCurrent\tGetTextElement" );
      myTEE.Reset();
      while (myTEE.MoveNext())  {
         Console.WriteLine( "[{0}]:\t{1}\t{2}", myTEE.ElementIndex, myTEE.Current, myTEE.GetTextElement() );
      }

   }

}

/*
This code produces the following output.  The question marks take the place of high and low surrogates.

Index   Current GetTextElement
[0]:    ??      ??
[2]:    a`      a`
[4]:    Æ       Æ

*/
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

Public Class SamplesTextElementEnumerator

   Public Shared Sub Main()

      ' Creates and initializes a String containing the following:
      '   - a surrogate pair (high surrogate U+D800 and low surrogate U+DC00)
      '   - a combining character sequence (the Latin small letter "a" followed by the combining grave accent)
      '   - a base character (the ligature "")
      Dim myString As String = ChrW(&HD800) & ChrW(&HDC00) & ChrW(&H0061) & ChrW(&H0300) & ChrW(&H00C6)

      ' Creates and initializes a TextElementEnumerator for myString.
      Dim myTEE As TextElementEnumerator = StringInfo.GetTextElementEnumerator( myString )

      ' Displays the values returned by ElementIndex, Current and GetTextElement.
      ' Current and GetTextElement return a string containing the entire text element. 
      Console.WriteLine("Index" + ControlChars.Tab + "Current" + ControlChars.Tab + "GetTextElement")
      myTEE.Reset()
      While myTEE.MoveNext()
         Console.WriteLine("[{0}]:" + ControlChars.Tab + "{1}" + ControlChars.Tab + "{2}", myTEE.ElementIndex, myTEE.Current, myTEE.GetTextElement())
      End While

   End Sub 'Main 

End Class 'SamplesTextElementEnumerator

'This code produces the following output.  The question marks take the place of high and low surrogates.
'
'Index   Current GetTextElement
'[0]:    ??      ??
'[2]:    a`      a`
'[4]:    Æ       Æ

Hinweise

.NET Framework definiert ein Textelement als eine Einheit der Text, der als ein einzelnes Zeichen, d. h. eine zwischen graphemgruppen angezeigt wird.The .NET Framework defines a text element as a unit of text that is displayed as a single character, that is, a grapheme. Ein Textelement kann eine der folgenden sein:A text element can be any of the following:

  • Basiszeichen, der als ein einzelnes dargestellt wird Char Wert.A base character, which is represented as a single Char value. Z. B. LATIN CAPITAL Buchstaben von A (U + 0041) und LATIN kleine Buchstabe AE (U + 00E6) sind Basiszeichen.For example, LATIN CAPITAL LETTER A (U+0041) and LATIN SMALL LETTER AE (U+00E6) are base characters.

  • Eine Kombination von Zeichenfolge, die aus einem Basiszeichen und mindestens eine Kombination von Zeichen besteht.A combining character sequence, which consists of a base character and one or more combining characters. Z. B. beispielsweise LATIN CAPITAL LETTER A (U + 0041) gefolgt von MACRON KOMBINIEREN (U + 0304) ist eine Kombination Zeichenfolge.For example, example, LATIN CAPITAL LETTER A (U+0041) followed by COMBINING MACRON (U+0304) is a combining character sequence.

  • Ersatzpaare, die die Unicode-Standard definiert als eine codierte zeichendarstellung für ein einzelnes abstraktes Zeichen, das eine Sequenz von zwei Codeeinheiten besteht: ein hohes Ersatzzeichen ist, und ein niedriges Ersatzzeichen.Surrogate pairs, which the Unicode Standard defines as a coded character representation for a single abstract character that consists of a sequence of two code units: a high surrogate, and a low surrogate. Ersatzzeichenpaare werden verwendet, um Zeichen außerhalb der grundlegenden vielsprachigen Ebene von Unicode-UTF-16-codierte Zeichen darzustellen.Surrogate pairs are used to represent characters outside of the Unicode Basic Multilingual Plane as UTF-16 encoded characters. Beispielsweise wird GOTHIC Buchstaben SAUIL (U + 10343) in UTF-16-Codierung als ein hohes Ersatzzeichen, deren Wert 0xD800 ist, und ein niedriges Ersatzzeichen, deren Wert 0xdf43, dargestellt.For example, GOTHIC LETTER SAUIL (U+10343) is represented in UTF-16 encoding as a high surrogate whose value is 0xD800 and a low surrogate whose value is 0xDF43. Ein Ersatzzeichenpaar kann es sich um ein Basiszeichen oder eine Kombination von Zeichen darstellen.A surrogate pair can represent a base character or a combining character.

Die TextElementEnumerator Klasse ermöglicht Ihnen die Arbeit mit die Textelemente einer Zeichenfolge anstatt mit einzelnen Char Objekte.The TextElementEnumerator class allows you to work with the text elements in a string rather than with single Char objects.

Instanziieren Sie ein TextElementEnumerator Objekt, das eine bestimmte Zeichenfolge darstellt, übergeben Sie die Zeichenfolge, die die StringInfo.GetTextElementEnumerator Methode.You instantiate a TextElementEnumerator object that represents a particular string by passing the string to the StringInfo.GetTextElementEnumerator method. Dies gibt einen Enumerator, der vor dem ersten Textelement in der Zeichenfolge positioniert ist.This returns an enumerator that is positioned before the first text element in the string. Aufrufen der Reset Methode setzt den Enumerator ebenfalls auf diese Position zurück.Calling the Reset method also brings the enumerator back to this position. Da dies ein ungültiger Zustand ist, müssen Sie aufrufen MoveNext auf den Enumerator auf das erste Textelement der Zeichenfolge zu setzen, vor dem Lesen des Werts von der Current Eigenschaft, um das aktuelle Textelement zurückzugeben.Because this represents an invalid state, you must call MoveNext to advance the enumerator to the first text element of the string before reading the value of the Current property to return the current text element.

Bei der Arbeit mit einem TextElementEnumerator Objekt, Sie sind verantwortlich für die Positionierung des Enumerators.When working with a TextElementEnumerator object, you are responsible for positioning the enumerator. Die Current Eigenschaft gibt das Element mit demselben Text zurück, bis Sie entweder Aufrufen MoveNext oder Reset.The Current property returns the same text element until you call either MoveNext or Reset. Der Enumerator befindet sich in einem ungültigen Zustand, wenn er vor dem ersten Textelement oder hinter dem letzten Textelement in der Zeichenfolge positioniert ist.The enumerator is in an invalid state if it is positioned before the first text element or after the last text element in the string. Wenn der Enumerator in einem ungültigen Zustand befindet, es wird versucht, zum Abrufen des Werts der Current Eigenschaft löst eine Ausnahme aus.When the enumerator is in an invalid state, attempting to retrieve the value of the Current property throws an exception. Sie können bestimmen, ob der Enumerator in einem ungültigen Zustand durch testen, ob der Rückgabewert von der MoveNext Eigenschaft false.You can determine whether the enumerator is in an invalid state by testing whether the return value of the MoveNext property is false.

Die TextElementEnumerator -Objekt stellt eine Momentaufnahme des aktuellen Zustands eines String-Variable oder ein Zeichenfolgenliteral zu dem Zeitpunkt dar, die die TextElementEnumerator -Objekt instanziiert wird.The TextElementEnumerator object represents a snapshot of the current state of a string variable or string literal at the moment that the TextElementEnumerator object is instantiated. Hinweis:Note that:

  • Enumeratoren für Text-Element können nur verwendet werden, um Daten in einer Zeichenfolge zu lesen.Text element enumerators can only be used to read data in a string. Die zugrunde liegenden Zeichenfolge ändern nicht.They cannot modify the underlying string.

  • Ein Enumerator besitzt nicht exklusiven Zugriff auf die Zeichenfolge, die es darstellt.An enumerator does not have exclusive access to the string that it represents. Eine String-Variable kann geändert werden, nach der Erstellung des Enumerators.A string variable can be modified after the enumerator is created.

  • Ein TextElementEnumerator Objekt listet die Textelemente, die zum Zeitpunkt in der Zeichenfolge vorhanden, die die TextElementEnumerator Objekt instanziiert wurde.A TextElementEnumerator object enumerates the text elements present in the string at the time that the TextElementEnumerator object was instantiated. Er berücksichtigt keine weiteren Änderungen an den String-Variable, wenn diese Variable anschließend geändert wird.It does not reflect any subsequent changes to the string variable if that variable is modified afterward.

  • Da die TextElementEnumerator Klasse überschreibt nicht die Object.Equalszwei TextElementEnumerator dieselbe Zeichenfolge darstellende – Objekte werden als ungleich betrachtet werden.Because the TextElementEnumerator class does not override Object.Equals, two TextElementEnumerator objects that represent the same string will be considered unequal.

Eigenschaften

Current Current Current Current

Ruft das aktuelle Textelement in der Zeichenfolge ab.Gets the current text element in the string.

ElementIndex ElementIndex ElementIndex ElementIndex

Ruft den Index des Textelements ab, über dem sich der Enumerator gerade befindet.Gets the index of the text element that the enumerator is currently positioned over.

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetTextElement() GetTextElement() GetTextElement() GetTextElement()

Ruft das aktuelle Textelement in der Zeichenfolge ab.Gets the current text element in the string.

GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
MoveNext() MoveNext() MoveNext() MoveNext()

Setzt den Enumerator auf das nächste Textelement der Zeichenfolge.Advances the enumerator to the next text element of the string.

Reset() Reset() Reset() Reset()

Setzt den Enumerator auf seine anfängliche Position vor dem ersten Textelement in der Zeichenfolge.Sets the enumerator to its initial position, which is before the first text element in the string.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für:

Siehe auch