CharUnicodeInfo.GetUnicodeCategory Metod

Definition

Hämtar Unicode-kategorin med ett Unicode-tecken.

Överlagringar

Name Description
GetUnicodeCategory(Char)

Hämtar Unicode-kategorin för det angivna tecknet.

GetUnicodeCategory(Int32)

Hämtar Unicode-kategorin för det angivna tecknet.

GetUnicodeCategory(String, Int32)

Hämtar Unicode-kategorin för tecknet i det angivna indexet för den angivna strängen.

GetUnicodeCategory(Char)

Källa:
CharUnicodeInfo.cs
Källa:
CharUnicodeInfo.cs
Källa:
CharUnicodeInfo.cs
Källa:
CharUnicodeInfo.cs
Källa:
CharUnicodeInfo.cs

Hämtar Unicode-kategorin för det angivna tecknet.

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

Parametrar

ch
Char

Unicode-tecknet som unicode-kategorin ska hämtas för.

Returer

Ett UnicodeCategory värde som anger kategorin för det angivna tecknet.

Exempel

I följande kodexempel visas de värden som returneras av varje metod för olika typer av tecken.

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

Kommentarer

Unicode-tecknen är indelade i kategorier. Ett teckens kategori är en av dess egenskaper. Ett tecken kan till exempel vara en versal bokstav, en gemen bokstav, ett decimaltal, ett bokstavsnummer, en kopplingspunktion, en matematisk symbol eller en valutasymbol. Uppräkningen UnicodeCategory definierar kategorin för ett Unicode-tecken. Mer information om Unicode-tecken finns i Unicode Standard.

Metoden GetUnicodeCategory förutsätter att den ch motsvarar ett enda språkligt tecken och returnerar dess kategori. Det innebär att för surrogatpar returneras UnicodeCategory.Surrogate den i stället för den kategori som surrogaten tillhör. Till exempel upptar det ugaritiska alfabetet kodpunkterna U+10380 till U+1039F. I följande exempel används ConvertFromUtf32 metoden för att instansiera en sträng som representerar UGARITIC LETTER ALPA (U+10380), som är den första bokstaven i det ugaritiska alfabetet. Som utdata från exemplet visar IsNumber(Char) returnerar false metoden om den skickas antingen den höga surrogaten eller den låga surrogaten för det här tecknet.

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

Observera att CharUnicodeInfo.GetUnicodeCategory inte alltid returnerar samma UnicodeCategory värde som Char.GetUnicodeCategory metoden när ett visst tecken skickas som en parameter. Metoden CharUnicodeInfo.GetUnicodeCategory är utformad för att återspegla den aktuella versionen av Unicode-standarden. Även om Char.GetUnicodeCategory metoden vanligtvis återspeglar den aktuella versionen av Unicode-standarden kan den däremot returnera ett teckens kategori baserat på en tidigare version av standarden, eller returnera en kategori som skiljer sig från den aktuella standarden för att bevara bakåtkompatibilitet.

Se även

Gäller för

GetUnicodeCategory(Int32)

Källa:
CharUnicodeInfo.cs
Källa:
CharUnicodeInfo.cs
Källa:
CharUnicodeInfo.cs
Källa:
CharUnicodeInfo.cs
Källa:
CharUnicodeInfo.cs

Hämtar Unicode-kategorin för det angivna tecknet.

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

Parametrar

codePoint
Int32

Ett tal som representerar 32-bitars kodpunktsvärdet för Unicode-tecknet.

Returer

Ett UnicodeCategory värde som anger kategorin för det angivna tecknet.

Gäller för

GetUnicodeCategory(String, Int32)

Källa:
CharUnicodeInfo.cs
Källa:
CharUnicodeInfo.cs
Källa:
CharUnicodeInfo.cs
Källa:
CharUnicodeInfo.cs
Källa:
CharUnicodeInfo.cs

Hämtar Unicode-kategorin för tecknet i det angivna indexet för den angivna strängen.

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

Parametrar

s
String

Det String som innehåller Unicode-tecknet som unicode-kategorin ska hämtas för.

index
Int32

Indexet för Unicode-tecknet som unicode-kategorin ska hämtas för.

Returer

Ett UnicodeCategory värde som anger tecknets kategori i det angivna indexet för den angivna strängen.

Undantag

s är null.

index ligger utanför intervallet för giltiga index i s.

Exempel

I följande kodexempel visas de värden som returneras av varje metod för olika typer av tecken.

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

Kommentarer

Unicode-tecknen är indelade i kategorier. Ett teckens kategori är en av dess egenskaper. Ett tecken kan till exempel vara en versal bokstav, en gemen bokstav, ett decimaltal, ett bokstavsnummer, en kopplingspunktion, en matematisk symbol eller en valutasymbol. Uppräkningen UnicodeCategory definierar kategorin för ett Unicode-tecken. Mer information om Unicode-tecken finns i Unicode Standard.

Char Om objektet på position index är det första tecknet för ett giltigt surrogatpar GetUnicodeCategory(String, Int32) returnerar metoden Unicode-kategorin för surrogatparet i stället för att UnicodeCategory.Surrogatereturnera . Till exempel upptar det ugaritiska alfabetet kodpunkterna U+10380 till U+1039F. I följande exempel används ConvertFromUtf32 metoden för att instansiera en sträng som representerar UGARITIC LETTER ALPA (U+10380), som är den första bokstaven i det ugaritiska alfabetet. Som utdata från exemplet visar GetUnicodeCategory(String, Int32) returnerar UnicodeCategory.OtherLetter metoden om den skickas den höga surrogattypen av det här tecknet, vilket indikerar att den betraktar surrogatparet. Men om den skickas den låga surrogaten, tar den bara hänsyn till den låga surrogaten isolerat och returnerar 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

Observera att CharUnicodeInfo.GetUnicodeCategory metoden inte alltid returnerar samma UnicodeCategory värde som metoden när det Char.GetUnicodeCategory skickas ett visst tecken som en parameter. Metoden CharUnicodeInfo.GetUnicodeCategory är utformad för att återspegla den aktuella versionen av Unicode-standarden. Även om Char.GetUnicodeCategory metoden vanligtvis återspeglar den aktuella versionen av Unicode-standarden kan den däremot returnera ett teckens kategori baserat på en tidigare version av standarden, eller returnera en kategori som skiljer sig från den aktuella standarden för att bevara bakåtkompatibilitet.

Se även

Gäller för