CharUnicodeInfo Class

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Retrieves information about a Unicode character. This class cannot be inherited.

Inheritance Hierarchy

System.Object
  System.Globalization.CharUnicodeInfo

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

Syntax

'Declaration
Public NotInheritable Class CharUnicodeInfo
public static class CharUnicodeInfo

Methods

  Name Description
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 GetNumericValue(Char) Gets the numeric value associated with the specified character.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 GetNumericValue(String, Int32) Gets the numeric value associated with the character at the specified index of the specified string.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 GetUnicodeCategory(Char) Gets the Unicode category of the specified character.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 GetUnicodeCategory(String, Int32) Gets the Unicode category of the character at the specified index of the specified string.

Top

Remarks

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.

Examples

The following code example shows the values returned by each method for different types of characters.

Imports System.Globalization

Public Class Example

   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

      outputBlock.Text &= "                                        c  Num   UnicodeCategory" & vbCrLf

      outputBlock.Text &= "U+0061 LATIN SMALL LETTER A            "
      PrintProperties(outputBlock, "a"c)

      outputBlock.Text &= "U+0393 GREEK CAPITAL LETTER GAMMA      "
      PrintProperties(outputBlock, ChrW(&H393))

      outputBlock.Text &= "U+0039 DIGIT NINE                      "
      PrintProperties(outputBlock, "9"c)

      outputBlock.Text &= "U+00B2 SUPERSCRIPT TWO                 "
      PrintProperties(outputBlock, ChrW(&HB2))

      outputBlock.Text &= "U+00BC VULGAR FRACTION ONE QUARTER     "
      PrintProperties(outputBlock, ChrW(&HBC))

      outputBlock.Text &= "U+0BEF TAMIL DIGIT NINE                "
      PrintProperties(outputBlock, ChrW(&HBEF))

      outputBlock.Text &= "U+0BF0 TAMIL NUMBER TEN                "
      PrintProperties(outputBlock, ChrW(&HBF0))

      outputBlock.Text &= "U+0F33 TIBETAN DIGIT HALF ZERO         "
      PrintProperties(outputBlock, ChrW(&HF33))

      outputBlock.Text &= "U+2788 CIRCLED SANS-SERIF DIGIT NINE   "
      PrintProperties(outputBlock, ChrW(&H2788))

   End Sub

   Public Shared Sub PrintProperties(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal c As Char)
      outputBlock.Text += String.Format(" {0,-3}", c)
      outputBlock.Text += String.Format(" {0,-5}", CharUnicodeInfo.GetNumericValue(c))
      outputBlock.Text += String.Format("{0}", CharUnicodeInfo.GetUnicodeCategory(c)) & vbCrLf
   End Sub
End Class 
' 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
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
*/

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.