Provides functionality to split a string into text elements and to iterate through those text elements.
Assembly: mscorlib (in mscorlib.dll)
Indicates whether the current Object.Equals(Object).)object is equal to a specified object.(Overrides
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)
Calculates a hash code for the value of the current Object.GetHashCode().)object.(Overrides
Gets the first text element in a specified string.
Gets the text element at the specified index of the specified string.
Returns an enumerator that iterates through the text elements of the entire string.
Returns an enumerator that iterates through the text elements of the string, starting at the specified index.
Returns the indexes of each base character, high surrogate, or control character within the specified string.
Retrieves a substring of text elements from the currentobject starting from a specified text element and continuing through the last text element.
Retrieves a substring of text elements from the currentobject starting from a specified text element and continuing through the specified number of text elements.
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 Char objects.class enables you to work with a string as a series of textual elements rather than individual
To instantiate aobject that represents a specified string, you can do either of the following:
Call the StringInfo(String) constructor and pass it the string that the object is to represent as an argument.
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.
Notes to Callers:
Internally, the methods of the CharUnicodeInfo class to determine character categories. Starting with the .NET Framework 4.6.2, character classification is based on The Unicode Standard, Version 8.0.0. For the .NET Framework 4 through the .NET Framework 4.6.1, it is based on The Unicode Standard, Version 6.3.0.class call the methods of the
Available since 8
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Available since 8.1
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.