CharUnicodeInfo Class
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Retrieves information about a Unicode character. This class cannot be inherited.
Assembly: mscorlib (in mscorlib.dll)
| Name | Description | |
|---|---|---|
![]() ![]() | GetNumericValue(Char) | Gets the numeric value associated with the specified character. |
![]() ![]() | GetNumericValue(String, Int32) | Gets the numeric value associated with the character at the specified index of the specified string. |
![]() ![]() | GetUnicodeCategory(Char) | Gets the Unicode category of the specified character. |
![]() ![]() | GetUnicodeCategory(String, Int32) | Gets the Unicode category of the character at the specified index of the specified string. |
The Unicode Standard defines several properties for Unicode characters, one of which is the character's category. For example, a character might be categorized as an uppercase letter, a lowercase letter, a decimal digit number, a letter number, a connector punctuation, a math symbol, or a currency symbol. Your application can use the character's category to govern string-based operations such as parsing.
The UnicodeCategory enumeration defines categories for Unicode characters. The CharUnicodeInfo class is used to obtain the UnicodeCategory value for a specific character. In addition, the class provides information about the numeric value of Unicode characters. A character's numeric value applies only to numeric characters, which include fractions, subscripts, superscripts, Roman numerals, currency numerators, encircled numbers, and script-specific digits.
For more information on Unicode characters, see the Unicode Standard.
The following code example shows the values returned by each method for different types of characters.
using System; using System.Globalization; public class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { outputBlock.Text += " c Num Dig Dec UnicodeCategory" + "\n"; outputBlock.Text += "U+0061 LATIN SMALL LETTER A "; PrintProperties(outputBlock, 'a'); outputBlock.Text += "U+0393 GREEK CAPITAL LETTER GAMMA "; PrintProperties(outputBlock, '\u0393'); outputBlock.Text += "U+0039 DIGIT NINE "; PrintProperties(outputBlock, '9'); outputBlock.Text += "U+00B2 SUPERSCRIPT TWO "; PrintProperties(outputBlock, '\u00B2'); outputBlock.Text += "U+00BC VULGAR FRACTION ONE QUARTER "; PrintProperties(outputBlock, '\u00BC'); outputBlock.Text += "U+0BEF TAMIL DIGIT NINE "; PrintProperties(outputBlock, '\u0BEF'); outputBlock.Text += "U+0BF0 TAMIL NUMBER TEN "; PrintProperties(outputBlock, '\u0BF0'); outputBlock.Text += "U+0F33 TIBETAN DIGIT HALF ZERO "; PrintProperties(outputBlock, '\u0F33'); outputBlock.Text += "U+2788 CIRCLED SANS-SERIF DIGIT NINE "; PrintProperties(outputBlock, '\u2788'); } public static void PrintProperties(System.Windows.Controls.TextBlock outputBlock, char c) { outputBlock.Text += String.Format(" {0,-3}", c); outputBlock.Text += String.Format(" {0,-5}", CharUnicodeInfo.GetNumericValue(c)); outputBlock.Text += String.Format("{0}", CharUnicodeInfo.GetUnicodeCategory(c)) + "\n"; } } /* This example produces the following output. U+0061 LATIN SMALL LETTER A a -1 LowercaseLetter U+0393 GREEK CAPITAL LETTER GAMMA G -1 UppercaseLetter U+0039 DIGIT NINE 9 9 DecimalDigitNumber U+00B2 SUPERSCRIPT TWO ² 2 OtherNumber U+00BC VULGAR FRACTION ONE QUARTER ¼ 0.25 OtherNumber U+0BEF TAMIL DIGIT NINE ? 9 DecimalDigitNumber U+0BF0 TAMIL NUMBER TEN ? 10 OtherNumber U+0F33 TIBETAN DIGIT HALF ZERO ? -0.5 OtherNumber U+2788 CIRCLED SANS-SERIF DIGIT NINE ? 9 OtherNumber */

