CharUnicodeInfo.GetUnicodeCategory Methode

Definitie

Hiermee haalt u de Unicode-categorie van een Unicode-teken op.

Overloads

Name Description
GetUnicodeCategory(Char)

Hiermee haalt u de Unicode-categorie van het opgegeven teken op.

GetUnicodeCategory(Int32)

Hiermee haalt u de Unicode-categorie van het opgegeven teken op.

GetUnicodeCategory(String, Int32)

Hiermee haalt u de Unicode-categorie van het teken op in de opgegeven index van de opgegeven tekenreeks.

GetUnicodeCategory(Char)

Hiermee haalt u de Unicode-categorie van het opgegeven teken op.

public:
 static System::Globalization::UnicodeCategory GetUnicodeCategory(char ch);
public static System.Globalization.UnicodeCategory GetUnicodeCategory(char ch);
static member GetUnicodeCategory : char -> System.Globalization.UnicodeCategory
Public Shared Function GetUnicodeCategory (ch As Char) As UnicodeCategory

Parameters

ch
Char

Het Unicode-teken waarvoor u de Unicode-categorie wilt ophalen.

Retouren

Een UnicodeCategory waarde die de categorie van het opgegeven teken aangeeft.

Voorbeelden

In het volgende codevoorbeeld ziet u de waarden die door elke methode worden geretourneerd voor verschillende typen tekens.

using System;
using System.Globalization;

public class SamplesCharUnicodeInfo  {

   public static void Main()  {

      Console.WriteLine( "                                        c  Num   Dig   Dec   UnicodeCategory" );

      Console.Write( "U+0061 LATIN SMALL LETTER A            " );
      PrintProperties( 'a' );

      Console.Write( "U+0393 GREEK CAPITAL LETTER GAMMA      " );
      PrintProperties( '\u0393' );

      Console.Write( "U+0039 DIGIT NINE                      " );
      PrintProperties( '9' );

      Console.Write( "U+00B2 SUPERSCRIPT TWO                 " );
      PrintProperties( '\u00B2' );

      Console.Write( "U+00BC VULGAR FRACTION ONE QUARTER     " );
      PrintProperties( '\u00BC' );

      Console.Write( "U+0BEF TAMIL DIGIT NINE                " );
      PrintProperties( '\u0BEF' );

      Console.Write( "U+0BF0 TAMIL NUMBER TEN                " );
      PrintProperties( '\u0BF0' );

      Console.Write( "U+0F33 TIBETAN DIGIT HALF ZERO         " );
      PrintProperties( '\u0F33' );

      Console.Write( "U+2788 CIRCLED SANS-SERIF DIGIT NINE   " );
      PrintProperties( '\u2788' );
   }

   public static void PrintProperties( char c )  {
      Console.Write( " {0,-3}", c );
      Console.Write( " {0,-5}", CharUnicodeInfo.GetNumericValue( c ) );
      Console.Write( " {0,-5}", CharUnicodeInfo.GetDigitValue( c ) );
      Console.Write( " {0,-5}", CharUnicodeInfo.GetDecimalDigitValue( c ) );
      Console.WriteLine( "{0}", CharUnicodeInfo.GetUnicodeCategory( c ) );
   }
}


/*
This code produces the following output.  Some characters might not display at the console.

                                        c  Num   Dig   Dec   UnicodeCategory
U+0061 LATIN SMALL LETTER A             a   -1    -1    -1   LowercaseLetter
U+0393 GREEK CAPITAL LETTER GAMMA       Γ   -1    -1    -1   UppercaseLetter
U+0039 DIGIT NINE                       9   9     9     9    DecimalDigitNumber
U+00B2 SUPERSCRIPT TWO                  ²   2     2     -1   OtherNumber
U+00BC VULGAR FRACTION ONE QUARTER      ¼   0.25  -1    -1   OtherNumber
U+0BEF TAMIL DIGIT NINE                 ௯   9     9     9    DecimalDigitNumber
U+0BF0 TAMIL NUMBER TEN                 ௰   10    -1    -1   OtherNumber
U+0F33 TIBETAN DIGIT HALF ZERO          ༳   -0.5  -1    -1   OtherNumber
U+2788 CIRCLED SANS-SERIF DIGIT NINE    ➈   9     9     -1   OtherNumber

*/
Imports System.Globalization

Public Class SamplesCharUnicodeInfo

   Public Shared Sub Main()

      Console.WriteLine("                                        c  Num   Dig   Dec   UnicodeCategory")

      Console.Write("U+0061 LATIN SMALL LETTER A            ")
      PrintProperties("a"c)

      Console.Write("U+0393 GREEK CAPITAL LETTER GAMMA      ")
      PrintProperties(ChrW(&H0393))

      Console.Write("U+0039 DIGIT NINE                      ")
      PrintProperties("9"c)

      Console.Write("U+00B2 SUPERSCRIPT TWO                 ")
      PrintProperties(ChrW(&H00B2))

      Console.Write("U+00BC VULGAR FRACTION ONE QUARTER     ")
      PrintProperties(ChrW(&H00BC))

      Console.Write("U+0BEF TAMIL DIGIT NINE                ")
      PrintProperties(ChrW(&H0BEF))

      Console.Write("U+0BF0 TAMIL NUMBER TEN                ")
      PrintProperties(ChrW(&H0BF0))

      Console.Write("U+0F33 TIBETAN DIGIT HALF ZERO         ")
      PrintProperties(ChrW(&H0F33))

      Console.Write("U+2788 CIRCLED SANS-SERIF DIGIT NINE   ")
      PrintProperties(ChrW(&H2788))

   End Sub

   Public Shared Sub PrintProperties(c As Char)
      Console.Write(" {0,-3}", c)
      Console.Write(" {0,-5}", CharUnicodeInfo.GetNumericValue(c))
      Console.Write(" {0,-5}", CharUnicodeInfo.GetDigitValue(c))
      Console.Write(" {0,-5}", CharUnicodeInfo.GetDecimalDigitValue(c))
      Console.WriteLine("{0}", CharUnicodeInfo.GetUnicodeCategory(c))
   End Sub

End Class


'This code produces the following output.  Some characters might not display at the console.
'
'                                        c  Num   Dig   Dec   UnicodeCategory
'U+0061 LATIN SMALL LETTER A             a   -1    -1    -1   LowercaseLetter
'U+0393 GREEK CAPITAL LETTER GAMMA       Γ   -1    -1    -1   UppercaseLetter
'U+0039 DIGIT NINE                       9   9     9     9    DecimalDigitNumber
'U+00B2 SUPERSCRIPT TWO                  ²   2     2     -1   OtherNumber
'U+00BC VULGAR FRACTION ONE QUARTER      ¼   0.25  -1    -1   OtherNumber
'U+0BEF TAMIL DIGIT NINE                 ௯   9     9     9    DecimalDigitNumber
'U+0BF0 TAMIL NUMBER TEN                 ௰   10    -1    -1   OtherNumber
'U+0F33 TIBETAN DIGIT HALF ZERO          ༳   -0.5  -1    -1   OtherNumber
'U+2788 CIRCLED SANS-SERIF DIGIT NINE    ➈   9     9     -1   OtherNumber

Opmerkingen

De Unicode-tekens zijn onderverdeeld in categorieën. De categorie van een teken is een van de eigenschappen. Een teken kan bijvoorbeeld een hoofdletter zijn, een kleine letter, een decimaal cijfer, een letternummer, een letternummer, een verbindingslijnpunctie, een rekenkundig symbool of een valutasymbool. De UnicodeCategory opsomming definieert de categorie van een Unicode-teken. Zie de Unicode-standaard voor meer informatie over Unicode-tekens.

Bij de GetUnicodeCategory methode wordt ervan uitgegaan dat deze ch overeenkomt met één taalkundig teken en de bijbehorende categorie retourneert. Dit betekent dat het voor surrogaatparen UnicodeCategory.Surrogate wordt geretourneerd in plaats van de categorie waartoe de surrogaat behoort. Het Ugaritische alfabet neemt bijvoorbeeld codepunten U+10380 in beslag tot U+1039F. In het volgende voorbeeld wordt de ConvertFromUtf32 methode gebruikt om een tekenreeks te instantiëren die UGARITIC LETTER ALPA (U+10380) vertegenwoordigt. Dit is de eerste letter van het Ugaritische alfabet. Zoals de uitvoer uit het voorbeeld laat zien, retourneert false de IsNumber(Char) methode of deze wordt doorgegeven aan de hoge surrogaat of het lage surrogaat van dit teken.

int utf32 = 0x10380;       // UGARITIC LETTER ALPA
string surrogate = Char.ConvertFromUtf32(utf32);
foreach (var ch in surrogate)
    Console.WriteLine($"U+{(ushort)ch:X4}: {System.Globalization.CharUnicodeInfo.GetUnicodeCategory(ch):G}");
// The example displays the following output:
//       U+D800: Surrogate
//       U+DF80: Surrogate
Dim utf32 As Integer = &h10380       ' UGARITIC LETTER ALPA
Dim surrogate As String = Char.ConvertFromUtf32(utf32)
For Each ch In surrogate
   Console.WriteLine("U+{0:X4}: {1:G}", 
                     Convert.ToUInt16(ch), 
                     System.Globalization.CharUnicodeInfo.GetUnicodeCategory(ch))
Next
' The example displays the following output:
'       U+D800: Surrogate
'       U+DF80: Surrogate

Houd er rekening mee dat CharUnicodeInfo.GetUnicodeCategory niet altijd dezelfde UnicodeCategory waarde als de Char.GetUnicodeCategory methode wordt geretourneerd wanneer een bepaald teken als parameter wordt doorgegeven. De CharUnicodeInfo.GetUnicodeCategory methode is ontworpen om de huidige versie van de Unicode-standaard weer te geven. Hoewel de Char.GetUnicodeCategory methode daarentegen meestal de huidige versie van de Unicode-standaard weergeeft, kan de categorie van een teken worden geretourneerd op basis van een eerdere versie van de standaard, of een categorie die verschilt van de huidige standaard om compatibiliteit met eerdere versies te behouden.

Zie ook

Van toepassing op

GetUnicodeCategory(Int32)

Hiermee haalt u de Unicode-categorie van het opgegeven teken op.

public:
 static System::Globalization::UnicodeCategory GetUnicodeCategory(int codePoint);
public static System.Globalization.UnicodeCategory GetUnicodeCategory(int codePoint);
static member GetUnicodeCategory : int -> System.Globalization.UnicodeCategory
Public Shared Function GetUnicodeCategory (codePoint As Integer) As UnicodeCategory

Parameters

codePoint
Int32

Een getal dat de 32-bits codepuntwaarde van het Unicode-teken vertegenwoordigt.

Retouren

Een UnicodeCategory waarde die de categorie van het opgegeven teken aangeeft.

Van toepassing op

GetUnicodeCategory(String, Int32)

Hiermee haalt u de Unicode-categorie van het teken op in de opgegeven index van de opgegeven tekenreeks.

public:
 static System::Globalization::UnicodeCategory GetUnicodeCategory(System::String ^ s, int index);
public static System.Globalization.UnicodeCategory GetUnicodeCategory(string s, int index);
static member GetUnicodeCategory : string * int -> System.Globalization.UnicodeCategory
Public Shared Function GetUnicodeCategory (s As String, index As Integer) As UnicodeCategory

Parameters

s
String

Het String bevat het Unicode-teken waarvoor u de Unicode-categorie wilt ophalen.

index
Int32

De index van het Unicode-teken waarvoor u de Unicode-categorie wilt ophalen.

Retouren

Een UnicodeCategory waarde die de categorie van het teken aangeeft op de opgegeven index van de opgegeven tekenreeks.

Uitzonderingen

index valt buiten het bereik van geldige indexen in s.

Voorbeelden

In het volgende codevoorbeeld ziet u de waarden die door elke methode worden geretourneerd voor verschillende typen tekens.

using System;
using System.Globalization;

public class SamplesCharUnicodeInfo  {

   public static void Main()  {

      // The String to get information for.
      String s = "a9\u0393\u00B2\u00BC\u0BEF\u0BF0\u2788";
      Console.WriteLine( "String: {0}", s );

      // Print the values for each of the characters in the string.
      Console.WriteLine( "index c  Num   Dig   Dec   UnicodeCategory" );
      for ( int i = 0; i < s.Length; i++ )  {
         Console.Write( "{0,-5} {1,-3}", i, s[i] );
         Console.Write( " {0,-5}", CharUnicodeInfo.GetNumericValue( s, i ) );
         Console.Write( " {0,-5}", CharUnicodeInfo.GetDigitValue( s, i ) );
         Console.Write( " {0,-5}", CharUnicodeInfo.GetDecimalDigitValue( s, i ) );
         Console.WriteLine( "{0}", CharUnicodeInfo.GetUnicodeCategory( s, i ) );
      }
   }
}


/*
This code produces the following output.  Some characters might not display at the console.

String: a9Γ²¼௯௰➈
index c  Num   Dig   Dec   UnicodeCategory
0     a   -1    -1    -1   LowercaseLetter
1     9   9     9     9    DecimalDigitNumber
2     Γ   -1    -1    -1   UppercaseLetter
3     ²   2     2     -1   OtherNumber
4     ¼   0.25  -1    -1   OtherNumber
5     ௯   9     9     9    DecimalDigitNumber
6     ௰   10    -1    -1   OtherNumber
7     ➈   9     9     -1   OtherNumber

*/
Imports System.Globalization

Public Class SamplesCharUnicodeInfo

   Public Shared Sub Main()

      ' The String to get information for.
      Dim s As [String] = "a9\u0393\u00B2\u00BC\u0BEF\u0BF0\u2788"
      Console.WriteLine("String: {0}", s)

      ' Print the values for each of the characters in the string.
      Console.WriteLine("index c  Num   Dig   Dec   UnicodeCategory")
      Dim i As Integer
      For i = 0 To s.Length - 1
         Console.Write("{0,-5} {1,-3}", i, s(i))
         Console.Write(" {0,-5}", CharUnicodeInfo.GetNumericValue(s, i))
         Console.Write(" {0,-5}", CharUnicodeInfo.GetDigitValue(s, i))
         Console.Write(" {0,-5}", CharUnicodeInfo.GetDecimalDigitValue(s, i))
         Console.WriteLine("{0}", CharUnicodeInfo.GetUnicodeCategory(s, i))
      Next i

   End Sub

End Class


'This code produces the following output.  Some characters might not display at the console.
'
'String: a9Γ²¼௯௰➈
'index c  Num   Dig   Dec   UnicodeCategory
'0     a   -1    -1    -1   LowercaseLetter
'1     9   9     9     9    DecimalDigitNumber
'2     Γ   -1    -1    -1   UppercaseLetter
'3     ²   2     2     -1   OtherNumber
'4     ¼   0.25  -1    -1   OtherNumber
'5     ௯   9     9     9    DecimalDigitNumber
'6     ௰   10    -1    -1   OtherNumber
'7     ➈   9     9     -1   OtherNumber

Opmerkingen

De Unicode-tekens zijn onderverdeeld in categorieën. De categorie van een teken is een van de eigenschappen. Een teken kan bijvoorbeeld een hoofdletter zijn, een kleine letter, een decimaal cijfer, een letternummer, een letternummer, een verbindingslijnpunctie, een rekenkundig symbool of een valutasymbool. De UnicodeCategory opsomming definieert de categorie van een Unicode-teken. Zie de Unicode-standaard voor meer informatie over Unicode-tekens.

Als het Char object op positie index het eerste teken van een geldig surrogaatpaar is, retourneert de GetUnicodeCategory(String, Int32) methode de Unicode-categorie van het surrogaatpaar in plaats van te retourneren UnicodeCategory.Surrogate. Het Ugaritische alfabet neemt bijvoorbeeld codepunten U+10380 in beslag tot U+1039F. In het volgende voorbeeld wordt de ConvertFromUtf32 methode gebruikt om een tekenreeks te instantiëren die UGARITIC LETTER ALPA (U+10380) vertegenwoordigt. Dit is de eerste letter van het Ugaritische alfabet. Zoals de uitvoer uit het voorbeeld laat zien, retourneert UnicodeCategory.OtherLetter de GetUnicodeCategory(String, Int32) methode als deze wordt doorgegeven aan het hoge surrogaat van dit teken, wat aangeeft dat het surrogaatpaar wordt beschouwd. Als het echter het lage surrogaat wordt doorgegeven, wordt alleen het lage surrogaat geïsoleerd beschouwd en wordt geretourneerd UnicodeCategory.Surrogate.

int utf32 = 0x10380;       // UGARITIC LETTER ALPA
string surrogate = Char.ConvertFromUtf32(utf32);
for (int ctr = 0; ctr < surrogate.Length; ctr++)
    Console.WriteLine($"U+{(ushort)surrogate[ctr]:X4}: {System.Globalization.CharUnicodeInfo.GetUnicodeCategory(surrogate, ctr):G}");
// The example displays the following output:
//       U+D800: OtherLetter
//       U+DF80: Surrogate
Dim utf32 As Integer = &h10380       ' UGARITIC LETTER ALPA
Dim surrogate As String = Char.ConvertFromUtf32(utf32)
For ctr As Integer = 0 To surrogate.Length - 1
   Console.WriteLine("U+{0:X4}: {1:G}", 
                     Convert.ToUInt16(surrogate(ctr)), 
                     System.Globalization.CharUnicodeInfo.GetUnicodeCategory(surrogate, ctr))
Next
' The example displays the following output:
'       U+D800: OtherLetter
'       U+DF80: Surrogate

Houd er rekening mee dat CharUnicodeInfo.GetUnicodeCategory de methode niet altijd dezelfde UnicodeCategory waarde retourneert als de Char.GetUnicodeCategory methode wanneer een bepaald teken als parameter wordt doorgegeven. De CharUnicodeInfo.GetUnicodeCategory methode is ontworpen om de huidige versie van de Unicode-standaard weer te geven. Hoewel de Char.GetUnicodeCategory methode daarentegen meestal de huidige versie van de Unicode-standaard weergeeft, kan de categorie van een teken worden geretourneerd op basis van een eerdere versie van de standaard, of een categorie die verschilt van de huidige standaard om compatibiliteit met eerdere versies te behouden.

Zie ook

Van toepassing op