Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

StringInfo Class

 

Provides functionality to split a string into text elements and to iterate through those text elements.

Namespace:   System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.Globalization.StringInfo

[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type StringInfo = class end

NameDescription
System_CAPS_pubmethodStringInfo()

Initializes a new instance of the StringInfo class.

System_CAPS_pubmethodStringInfo(String)

Initializes a new instance of the StringInfo class to a specified string.

NameDescription
System_CAPS_pubpropertyLengthInTextElements

Gets the number of text elements in the current StringInfo object.

System_CAPS_pubpropertyString

Gets or sets the value of the current StringInfo object.

NameDescription
System_CAPS_pubmethodEquals(Object)

Indicates whether the current StringInfo object is equal to a specified object.(Overrides Object.Equals(Object).)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Calculates a hash code for the value of the current StringInfo object.(Overrides Object.GetHashCode().)

System_CAPS_pubmethodSystem_CAPS_staticGetNextTextElement(String)

Gets the first text element in a specified string.

System_CAPS_pubmethodSystem_CAPS_staticGetNextTextElement(String, Int32)

Gets the text element at the specified index of the specified string.

System_CAPS_pubmethodSystem_CAPS_staticGetTextElementEnumerator(String)

Returns an enumerator that iterates through the text elements of the entire string.

System_CAPS_pubmethodSystem_CAPS_staticGetTextElementEnumerator(String, Int32)

Returns an enumerator that iterates through the text elements of the string, starting at the specified index.

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodSystem_CAPS_staticParseCombiningCharacters(String)

Returns the indexes of each base character, high surrogate, or control character within the specified string.

System_CAPS_pubmethodSubstringByTextElements(Int32)

Retrieves a substring of text elements from the current StringInfo object starting from a specified text element and continuing through the last text element.

System_CAPS_pubmethodSubstringByTextElements(Int32, Int32)

Retrieves a substring of text elements from the current StringInfo object starting from a specified text element and continuing through the specified number of text elements.

System_CAPS_pubmethodToString()

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 StringInfo class enables you to work with a string as a series of textual elements rather than individual Char objects.

To instantiate a StringInfo object that represents a specified string, you can do either of the following:

  • Call the StringInfo(String) constructor and pass it the string that the StringInfo object is to represent as an argument.

  • Call the default StringInfo() constructor, and assign the string that the StringInfo object is to represent to the String property.

You can work with the individual text elements in a string in two ways:

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.

No code example is currently available or this language may not be supported.

Notes to Callers:

Internally, the methods of the StringInfo class call 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.

This example shows how to use the GetTextElementEnumerator and ParseCombiningCharacters methods of the StringInfo class to manipulate a string that contains surrogate and combining characters.

No code example is currently available or this language may not be supported.

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
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.

Return to top
Show:
© 2016 Microsoft