This documentation is archived and is not being maintained.

Char.GetUnicodeCategory Method (String, Int32)

Categorizes the character at the specified position in a specified string into a group identified by one of the UnicodeCategory values.

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

static UnicodeCategory GetUnicodeCategory (
	String^ s, 
	int index
public static UnicodeCategory GetUnicodeCategory (
	String s, 
	int index
public static function GetUnicodeCategory (
	s : String, 
	index : int
) : UnicodeCategory
Not applicable.



A String.


The character position in s.

Return Value

A UnicodeCategory enumerated constant that identifies the group that contains the character at position index in s.

Exception typeCondition


s is a null reference (Nothing in Visual Basic).


index is less than zero or greater than the last position in s.

Character positions in a string are indexed starting from zero.

The GetUnicodeCategory method does not always return the same UnicodeCategory value as the CharUnicodeInfo.GetUnicodeCategory method when passed a particular character as a parameter. The CharUnicodeInfo.GetUnicodeCategory method is designed to reflect the current version of the Unicode standard. In contrast, although the GetUnicodeCategory method usually reflects the current version of the Unicode standard, it may return a character's category based on a previous version of the standard or it may return a category that differs from the current standard in order to preserve backward compatibility.

The following code example demonstrates GetUnicodeCategory.

using namespace System;
int main()
   char ch2 = '2';
   String^ str = "Upper Case";
   Console::WriteLine( Char::GetUnicodeCategory( 'a' ).ToString() ); // Output: S"LowercaseLetter"
   Console::WriteLine( Char::GetUnicodeCategory( ch2 ).ToString() ); // Output: S"DecimalDigitNumber"
   Console::WriteLine( Char::GetUnicodeCategory( str, 6 ).ToString() ); // Output: S"UppercaseLetter"

import System.*;

public class GetUnicodeCategorySample
    public static void main(String[] args)
        char ch2 = '2';
        String str = "Upper Case";
           // Output: "LowercaseLetter"   
        // Output: "DecimalDigitNumber"
        // Output: "UppercaseLetter"
        Console.WriteLine(Char.GetUnicodeCategory(str, 6));        
    } //main
} //GetUnicodeCategorySample

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0

XNA Framework

Supported in: 1.0