TextElementEnumerator Osztály

Definíció

Számba adja egy sztring szöveges elemeit.

public ref class TextElementEnumerator : System::Collections::IEnumerator
public class TextElementEnumerator : System.Collections.IEnumerator
[System.Serializable]
public class TextElementEnumerator : System.Collections.IEnumerator
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class TextElementEnumerator : System.Collections.IEnumerator
type TextElementEnumerator = class
    interface IEnumerator
[<System.Serializable>]
type TextElementEnumerator = class
    interface IEnumerator
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type TextElementEnumerator = class
    interface IEnumerator
Public Class TextElementEnumerator
Implements IEnumerator
Öröklődés
TextElementEnumerator
Attribútumok
Megvalósítás

Példák

Az alábbi példa az TextElementEnumerator osztály használatával számba veszi egy sztring szöveges elemeit.

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]:    à       à
[4]:    Æ       Æ

*/
Imports System.Globalization

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

End Class

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

Megjegyzések

A .NET-keretrendszer egy szöveges elemet egy szöveges egységként határoz meg, amely egyetlen karakterként, azaz gráfként jelenik meg. A szöveges elem a következők bármelyike lehet:

  • Egy alap karakter, amely egyetlen Char értékként jelenik meg. A LATIN NAGYBETŰS A (U+0041) és a LATIN KIS BETŰS AE (U+00E6) például alapkarakterek.

  • Egy egyesítési karaktersorozat, amely egy alap karakterből és egy vagy több egyesítési karakterből áll. Például a LATIN NAGYBETŰS A (U+0041) és a MACRON (U+0304) kombinálása egy egyesítési karaktersorozat.

  • Helyettesítő párok, amelyeket a Unicode Standard kódolt karakterábrázolásként határoz meg egyetlen absztrakt karakterhez, amely két kódegységből álló sorozatból áll: egy magas helyettesítő és egy alacsony helyettesítő karakterből. A helyettesítő párok a Unicode basic többnyelvű síkon kívüli karakterek UTF-16 kódolású karakterekként való megjelenítésére szolgálnak. Például a GOTHIC LETTER SAUIL (U+10343) az UTF-16 kódolásban magas helyettesítőként jelenik meg, amelynek értéke 0xD800, és alacsony helyettesítő, amelynek értéke 0xDF43. A helyettesítő párok egy alap- vagy egy egyesítési karaktert jelölhetnek.

Az TextElementEnumerator osztály lehetővé teszi, hogy a sztring szöveges elemeivel dolgozzon, nem pedig egyetlen Char objektummal.

Egy adott sztringet TextElementEnumerator képviselő objektum példányosításához adja át a sztringet a StringInfo.GetTextElementEnumerator metódusnak. Ez egy számbavételt ad vissza, amely a sztring első szöveges eleme előtt helyezkedik el. A metódus meghívása Reset az enumerátort is visszahozza ebbe a pozícióba. Mivel ez érvénytelen állapotot jelöl, a tulajdonság értékének MoveNext olvasása előtt meg kell hívniaCurrent, hogy az enumerátort a sztring első szöveges elemére léptetve adja vissza az aktuális szöveges elemet.

Ha objektumokkal TextElementEnumerator dolgozik, ön a felelős az enumerátor elhelyezéséért. A Current tulajdonság ugyanazt a szöveges elemet adja vissza, amíg a hívás vagy MoveNextReset a . Az enumerátor érvénytelen állapotban van, ha az első szöveges elem vagy a sztring utolsó szöveges eleme előtt van elhelyezve. Ha az enumerátor érvénytelen állapotban van, a tulajdonság értékének lekérése Current kivételt eredményez. A tulajdonság visszatérési értékének MoveNext() vizsgálatával megállapíthatja, hogy az enumerátor érvénytelen állapotban van-e false.

Az TextElementEnumerator objektum egy sztringváltozó vagy sztringkonstans aktuális állapotának pillanatképét jeleníti meg az TextElementEnumerator objektum példányosításának pillanatában. Vegye figyelembe:

  • A szövegelem-enumerátorok csak sztringben lévő adatok olvasására használhatók. Nem módosíthatják a mögöttes sztringet.

  • Az enumerátorok nem rendelkeznek kizárólagos hozzáféréssel az általa képviselt sztringhez. A sztringváltozó az enumerátor létrehozása után módosítható.

  • Az TextElementEnumerator objektum az objektum példányosításának időpontjában TextElementEnumerator számba adja a sztringben található szöveges elemeket. Nem tükrözi a sztringváltozó későbbi módosításait, ha a változót később módosítják.

  • Mivel az TextElementEnumerator osztály nem bírálja felül Object.Equalsaz osztályt, az azonos sztringet képviselő két TextElementEnumerator objektum egyenlőtlennek minősül.

Tulajdonságok

Name Description
Current

Lekéri a sztring aktuális szöveges elemét.

ElementIndex

Lekéri annak a szöveges elemnek az indexét, amelyre az enumerátor jelenleg fel van helyezve.

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetTextElement()

Lekéri a sztring aktuális szöveges elemét.

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
MoveNext()

Az enumerátort a sztring következő szöveges elemére léptetése.

Reset()

Az enumerátort a kezdeti pozíciójára állítja, amely a sztring első szöveges eleme előtt van.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még