TextElementEnumerator Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Opsomming van de tekstelementen van een tekenreeks.
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
- Overname
-
TextElementEnumerator
- Kenmerken
- Implementeringen
Voorbeelden
In het volgende voorbeeld wordt de TextElementEnumerator klasse gebruikt om de tekstelementen van een tekenreeks te inventariseren.
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]: Æ Æ
Opmerkingen
.NET Framework definieert een tekstelement als een teksteenheid die als één teken wordt weergegeven, een graaf. Een tekstelement kan een van de volgende zijn:
Een basisteken, dat wordt weergegeven als één Char waarde. LATIJNSE HOOFDLETTER A (U+0041) en LATIJNSE KLEINE LETTER AE (U+00E6) zijn bijvoorbeeld basistekens.
Een combinatie van tekenreeksen, die bestaat uit een basisteken en een of meer combinaties van tekens. Voorbeeld: LATIJNSE HOOFDLETTER A (U+0041), gevolgd door HET COMBINEREN VAN MACRON (U+0304) is bijvoorbeeld een combinatietekenreeks.
Surrogaatparen, die de Unicode-standaard definieert als een gecodeerde tekenweergave voor één abstract teken dat bestaat uit een reeks van twee code-eenheden: een hoog surrogaat en een laag surrogaat. Surrogaatparen worden gebruikt om tekens buiten het Unicode Basic Meertalige vlak weer te geven als UTF-16 gecodeerde tekens. GOTHIC LETTER SAUIL (U+10343) wordt bijvoorbeeld weergegeven in UTF-16-codering als een hoog surrogaat waarvan de waarde 0xD800 is en een laag surrogaat waarvan de waarde 0xDF43 is. Een surrogaatpaar kan een basisteken of een combinatieteken vertegenwoordigen.
Met TextElementEnumerator de klasse kunt u met de tekstelementen in een tekenreeks werken in plaats van met één Char object.
U instantieert een TextElementEnumerator object dat een bepaalde tekenreeks vertegenwoordigt door de tekenreeks door te geven aan de StringInfo.GetTextElementEnumerator methode. Hiermee wordt een enumerator geretourneerd die vóór het eerste tekstelement in de tekenreeks wordt weergegeven. Als u de Reset methode aanroept, wordt de enumerator ook teruggezet naar deze positie. Omdat dit een ongeldige status vertegenwoordigt, moet u de opsomming doorschakelen MoveNext naar het eerste tekstelement van de tekenreeks voordat u de waarde van de Current eigenschap leest om het huidige tekstelement te retourneren.
Wanneer u met een TextElementEnumerator object werkt, bent u verantwoordelijk voor het positioneren van de enumerator. De Current eigenschap retourneert hetzelfde tekstelement totdat u aanroept MoveNext of Reset. De enumerator heeft een ongeldige status als deze vóór het eerste tekstelement of na het laatste tekstelement in de tekenreeks wordt geplaatst. Wanneer de enumerator een ongeldige status heeft, wordt er een uitzondering gegenereerd wanneer de waarde van de Current eigenschap wordt opgehaald. U kunt bepalen of de enumerator een ongeldige status heeft door te testen of de retourwaarde van de MoveNext() eigenschap is false.
Het TextElementEnumerator object vertegenwoordigt een momentopname van de huidige status van een tekenreeksvariabele of letterlijke tekenreeks op het moment dat het TextElementEnumerator object wordt geïnstantieerd. Houd er rekening mee dat:
Opsommingen van tekstelementen kunnen alleen worden gebruikt om gegevens in een tekenreeks te lezen. Ze kunnen de onderliggende tekenreeks niet wijzigen.
Een enumerator heeft geen exclusieve toegang tot de tekenreeks die deze vertegenwoordigt. Een tekenreeksvariabele kan worden gewijzigd nadat de enumerator is gemaakt.
Een TextElementEnumerator object inventariseert de tekstelementen die aanwezig zijn in de tekenreeks op het moment dat het TextElementEnumerator object is geïnstantieerd. Er worden geen volgende wijzigingen in de tekenreeksvariabele weergegeven als deze variabele later wordt gewijzigd.
Omdat de TextElementEnumerator klasse niet overschrijft Object.Equals, worden twee TextElementEnumerator objecten die dezelfde tekenreeks vertegenwoordigen beschouwd als ongelijk.
Eigenschappen
| Name | Description |
|---|---|
| Current |
Hiermee haalt u het huidige tekstelement in de tekenreeks op. |
| ElementIndex |
Hiermee haalt u de index op van het tekstelement waarop de enumerator zich momenteel bevindt. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetTextElement() |
Hiermee haalt u het huidige tekstelement in de tekenreeks op. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| MoveNext() |
Hiermee gaat u naar het volgende tekstelement van de tekenreeks. |
| Reset() |
Hiermee stelt u de enumerator in op de oorspronkelijke positie, vóór het eerste tekstelement in de tekenreeks. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |