TextElementEnumerator Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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) |