Provides functionality to split a string into text elements and to iterate through those text elements.
Assembly: mscorlib (in mscorlib.dll)
Thetype exposes the following members.
|Equals||Indicates whether the current object is equal to a specified object. (Overrides Object.Equals(Object).)|
|Finalize||Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)|
|GetHashCode||Calculates a hash code for the value of the current object. (Overrides Object.GetHashCode().)|
|GetNextTextElement(String)||Gets the first text element in a specified string.|
|GetNextTextElement(String, Int32)||Gets the text element at the specified index of the specified string.|
|GetTextElementEnumerator(String)||Returns an enumerator that iterates through the text elements of the entire string.|
|GetTextElementEnumerator(String, Int32)||Returns an enumerator that iterates through the text elements of the string, starting at the specified index.|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|ParseCombiningCharacters||Returns the indexes of each base character, high surrogate, or control character within the specified string.|
|SubstringByTextElements(Int32)||Retrieves a substring of text elements from the current object starting from a specified text element and continuing through the last text element.|
|SubstringByTextElements(Int32, Int32)||Retrieves a substring of text elements from the current object starting from a specified text element and continuing through the specified number of text elements.|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
The .NET Framework defines a text element as a unit of text that is displayed as a single character, that is, a grapheme. A text element can be a base character, a surrogate pair, or a combining character sequence. The Unicode Standard defines a surrogate pair as a coded character representation for a single abstract character that consists of a sequence of two code units, where the first unit of the pair is a high surrogate and the second is a low surrogate. The Unicode Standard defines a combining character sequence as a combination of a base character and one or more combining characters. A surrogate pair can represent a base character or a combining character.
The class enables you to work with a string as a series of textual elements rather than individual Char objects. You can work with the individual text elements in a string in two ways:
By enumerating each text element. To do this, you call the GetTextElementEnumerator method, and then repeatedly call the MoveNext method on the returned TextElementEnumerator object until the method returns false.
By calling the ParseCombiningCharacters method to retrieve an array that contains the starting index of each text element. You can then retrieve individual text elements by passing these indexes to the SubstringByTextElements method.
The following example illustrates both ways of working with the text elements in a string. It creates two strings:
strCombining, which is a string of Arabic characters that includes three text elements with multiple Char objects. The first text element is the base character ARABIC LETTER ALEF (U+-627) followed by ARABIC HAMZA BELOW (U+-655) and ARABIC KASRA (U+0650). The second text element is ARABIC LETTER HEH (U+0647) followed by ARABIC FATHA (U+-64E). The third text element is ARABIC LETTTER BEH (U+0628) followed by ARABIC DAMMATAN (U+064C).
strSurrogates, which is a string that includes three surrogate pairs: GREEK ACROPHONIC FIVE TALENTS (U+10148) from the Supplementary Multilingual Plane, U+20026 from the Supplementary Ideographic Plane, and U+F1001 from the private user area. The UTF-16 encoding of each character is a surrogate pair that consists of a high surrogate followed by a low surrogate.
Each string is parsed once by the ParseCombiningCharacters method and then by the GetTextElementEnumerator method. Both methods correctly parse the text elements in the two strings and display the results of the parsing operation.
.NET FrameworkSupported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0
.NET Framework Client ProfileSupported in: 4, 3.5 SP1
Portable Class LibrarySupported in: Portable Class Library
.NET for Windows Store appsSupported in: Windows 8
.NET for Windows Phone appsSupported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8
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 Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)