CharUnicodeInfo.GetUnicodeCategory Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- 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
s is null.
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.