CharUnicodeInfo.GetUnicodeCategory Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera kategorię Unicode znaku Unicode.
Przeciążenia
| Nazwa | Opis |
|---|---|
| GetUnicodeCategory(Char) |
Pobiera kategorię Unicode określonego znaku. |
| GetUnicodeCategory(Int32) |
Pobiera kategorię Unicode określonego znaku. |
| GetUnicodeCategory(String, Int32) |
Pobiera kategorię Unicode znaku w określonym indeksie określonego ciągu. |
GetUnicodeCategory(Char)
- Źródło:
- CharUnicodeInfo.cs
- Źródło:
- CharUnicodeInfo.cs
- Źródło:
- CharUnicodeInfo.cs
- Źródło:
- CharUnicodeInfo.cs
- Źródło:
- CharUnicodeInfo.cs
Pobiera kategorię Unicode określonego znaku.
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
Parametry
- ch
- Char
Znak Unicode, dla którego ma być pobierana kategoria Unicode.
Zwraca
UnicodeCategory Wartość wskazująca kategorię określonego znaku.
Przykłady
Poniższy przykład kodu przedstawia wartości zwracane przez każdą metodę dla różnych typów znaków.
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
Uwagi
Znaki Unicode są podzielone na kategorie. Kategoria znaku jest jedną z jego właściwości. Na przykład znak może być wielką literą, małą literą, cyfrą dziesiętną, cyfrą dziesiętną, cyfrą literową, znakiem interpunkcyjnym łącznika, symbolem matematycznym lub symbolem waluty. Wyliczenie UnicodeCategory definiuje kategorię znaku Unicode. Aby uzyskać więcej informacji na temat znaków Unicode, zobacz Standard Unicode.
Metoda GetUnicodeCategory zakłada, że ch odpowiada pojedynczemu znakowi językowemu i zwraca jego kategorię. Oznacza to, że w przypadku par zastępczych zwraca UnicodeCategory.Surrogate zamiast kategorii, do której należy surogat. Na przykład alfabet ugarytyczny zajmuje punkty kodu U+10380 do U+1039F. W poniższym przykładzie ConvertFromUtf32 użyto metody , aby utworzyć wystąpienie ciągu reprezentującego UGARITIC LETTER ALPA (U+10380), czyli pierwszą literę alfabetu ugarytycznego. Jak pokazano w danych wyjściowych z przykładu, metoda zwraca IsNumber(Char) wartość false , jeśli jest przekazywana wysoki zastępca lub niski zastępca tego znaku.
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
Należy pamiętać, że CharUnicodeInfo.GetUnicodeCategory nie zawsze zwraca tę samą UnicodeCategory wartość co Char.GetUnicodeCategory metoda po przekazaniu określonego znaku jako parametru. Metoda została zaprojektowana CharUnicodeInfo.GetUnicodeCategory tak, aby odzwierciedlała bieżącą wersję standardu Unicode. Natomiast metoda Char.GetUnicodeCategory zwykle odzwierciedla bieżącą wersję standardu Unicode, może zwrócić kategorię znaku na podstawie poprzedniej wersji standardu lub zwrócić kategorię, która różni się od bieżącego standardu w celu zachowania zgodności z poprzednimi wersjami.
Zobacz też
Dotyczy
GetUnicodeCategory(Int32)
- Źródło:
- CharUnicodeInfo.cs
- Źródło:
- CharUnicodeInfo.cs
- Źródło:
- CharUnicodeInfo.cs
- Źródło:
- CharUnicodeInfo.cs
- Źródło:
- CharUnicodeInfo.cs
Pobiera kategorię Unicode określonego znaku.
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
Parametry
- codePoint
- Int32
Liczba reprezentująca wartość 32-bitowego punktu kodu znaku Unicode.
Zwraca
UnicodeCategory Wartość wskazująca kategorię określonego znaku.
Dotyczy
GetUnicodeCategory(String, Int32)
- Źródło:
- CharUnicodeInfo.cs
- Źródło:
- CharUnicodeInfo.cs
- Źródło:
- CharUnicodeInfo.cs
- Źródło:
- CharUnicodeInfo.cs
- Źródło:
- CharUnicodeInfo.cs
Pobiera kategorię Unicode znaku w określonym indeksie określonego ciągu.
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
Parametry
- index
- Int32
Indeks znaku Unicode, dla którego ma być pobrana kategoria Unicode.
Zwraca
UnicodeCategory Wartość wskazująca kategorię znaku w określonym indeksie określonego ciągu.
Wyjątki
Parametr s ma wartość null.
index znajduje się poza zakresem prawidłowych indeksów w pliku s.
Przykłady
Poniższy przykład kodu przedstawia wartości zwracane przez każdą metodę dla różnych typów znaków.
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
Uwagi
Znaki Unicode są podzielone na kategorie. Kategoria znaku jest jedną z jego właściwości. Na przykład znak może być wielką literą, małą literą, cyfrą dziesiętną, cyfrą dziesiętną, cyfrą literową, znakiem interpunkcyjnym łącznika, symbolem matematycznym lub symbolem waluty. Wyliczenie UnicodeCategory definiuje kategorię znaku Unicode. Aby uzyskać więcej informacji na temat znaków Unicode, zobacz Standard Unicode.
Jeśli obiekt na Char pozycji index jest pierwszym znakiem prawidłowej pary zastępczej, GetUnicodeCategory(String, Int32) metoda zwraca kategorię Unicode pary zastępczej zamiast zwracać UnicodeCategory.Surrogatewartość . Na przykład alfabet ugarytyczny zajmuje punkty kodu U+10380 do U+1039F. W poniższym przykładzie ConvertFromUtf32 użyto metody , aby utworzyć wystąpienie ciągu reprezentującego UGARITIC LETTER ALPA (U+10380), czyli pierwszą literę alfabetu ugarytycznego. Jak pokazano w danych wyjściowych z przykładu, metoda zwraca GetUnicodeCategory(String, Int32) wartość UnicodeCategory.OtherLetter , jeśli jest przekazywana wysoki zastępca tego znaku, co wskazuje, że uważa parę zastępczą. Jeśli jednak jest przekazywany niski zastępca, uważa tylko niski zastępca w izolacji i zwraca wartość 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
Należy pamiętać, że CharUnicodeInfo.GetUnicodeCategory metoda nie zawsze zwraca tę samą UnicodeCategory wartość co Char.GetUnicodeCategory metoda po przekazaniu określonego znaku jako parametru. Metoda została zaprojektowana CharUnicodeInfo.GetUnicodeCategory tak, aby odzwierciedlała bieżącą wersję standardu Unicode. Natomiast metoda Char.GetUnicodeCategory zwykle odzwierciedla bieżącą wersję standardu Unicode, może zwrócić kategorię znaku na podstawie poprzedniej wersji standardu lub zwrócić kategorię, która różni się od bieżącego standardu w celu zachowania zgodności z poprzednimi wersjami.