CharUnicodeInfo Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengambil informasi tentang karakter Unicode. Kelas ini tidak dapat diwariskan.
public ref class CharUnicodeInfo abstract sealed
public ref class CharUnicodeInfo sealed
public static class CharUnicodeInfo
public sealed class CharUnicodeInfo
type CharUnicodeInfo = class
Public Class CharUnicodeInfo
Public NotInheritable Class CharUnicodeInfo
- Warisan
-
CharUnicodeInfo
Contoh
Contoh kode berikut menunjukkan nilai yang dikembalikan oleh setiap metode untuk berbagai jenis karakter.
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
Keterangan
Standar Unicode mendefinisikan sejumlah kategori karakter Unicode. Misalnya, karakter dapat dikategorikan sebagai huruf besar, huruf kecil, angka digit desimal, angka huruf, pemisah paragraf, simbol matematika, atau simbol mata uang. Aplikasi Anda dapat menggunakan kategori karakter untuk mengatur operasi berbasis string, seperti mengurai atau mengekstrak substring dengan ekspresi reguler. Enumerasi UnicodeCategory menentukan kemungkinan kategori karakter.
CharUnicodeInfo Gunakan kelas untuk mendapatkan UnicodeCategory nilai untuk karakter tertentu. Kelas CharUnicodeInfo menentukan metode yang mengembalikan nilai karakter Unicode berikut:
Kategori tertentu tempat pasangan karakter atau pengganti berada. Nilai yang dikembalikan adalah anggota UnicodeCategory enumerasi.
Nilai numerik. Hanya berlaku untuk karakter numerik, termasuk pecahan, subskrip, superskrip, angka Romawi, pembilang mata uang, angka yang dilingkari, dan digit khusus skrip.
Nilai digit. Berlaku untuk karakter numerik yang dapat dikombinasikan dengan karakter numerik lainnya untuk mewakili bilangan buletin dalam sistem penomoran.
Nilai digit desimal. Hanya berlaku untuk karakter yang mewakili digit desimal dalam sistem desimal (dasar 10). Digit desimal bisa menjadi salah satu dari sepuluh digit, dari nol hingga sembilan. Karakter ini adalah anggota UnicodeCategory.DecimalDigitNumber kategori.
Selain itu, kelas CharUnicodeInfo digunakan secara internal oleh sejumlah jenis dan metode .NET lainnya yang bergantung pada klasifikasi karakter. Ini termasuk:
Kelas StringInfo , yang bekerja dengan elemen tekstual alih-alih karakter tunggal dalam string.
Kelebihan beban Char.GetUnicodeCategory metode, yang menentukan kategori tempat pasangan karakter atau pengganti berada.
Kelas character dikenali oleh Regex, mesin ekspresi reguler .NET.
Saat menggunakan kelas ini di aplikasi Anda, ingatlah pertimbangan pemrograman berikut untuk menggunakan jenis tersebut Char . Jenisnya bisa sulit digunakan, dan string umumnya lebih disukai untuk mewakili konten linguistik.
Objek Char tidak selalu sesuai dengan satu karakter. Char Meskipun jenis mewakili nilai 16-bit tunggal, beberapa karakter (seperti kluster grapheme dan pasangan pengganti) terdiri dari dua unit kode UTF-16 atau lebih. Untuk informasi selengkapnya, lihat "Objek Karakter Karakter dan Karakter Unicode" di String kelas .
Gagasan "karakter" juga fleksibel. Karakter sering dianggap sebagai glyph, tetapi banyak glyph memerlukan beberapa titik kode. Misalnya, ä dapat diwakili baik oleh dua titik kode ("a" ditambah U+0308, yang merupakan diaeresis gabungan), atau dengan satu titik kode ("ä" atau U+00A4). Beberapa bahasa memiliki banyak huruf, karakter, dan glyph yang memerlukan beberapa titik kode, yang dapat menyebabkan kebingungan dalam representasi konten linguistik. Misalnya, ada ΰ (U+03B0, upsilon huruf kecil Yunani dengan dialytika dan tonos), tetapi tidak ada huruf kapital yang setara. Huruf besar nilai seperti itu hanya mengambil nilai asli.
Catatan Bagi Pemanggil
Karakter yang dikenali dan kategori khusus tempat karakter tersebut didefinisikan oleh standar Unicode dan dapat berubah dari satu versi Standar Unicode ke versi lainnya. Kategorisasi karakter dalam versi .NET Framework tertentu didasarkan pada satu versi Standar Unicode, terlepas dari sistem operasi yang mendasar tempat .NET Framework berjalan. Tabel berikut mencantumkan versi .NET Framework sejak .NET Framework 4 dan versi Standar Unicode yang digunakan untuk mengklasifikasikan karakter.
| Versi .NET Framework | Versi Unicode Standard |
|---|---|
| .NET Framework 4 | 5.0.0 |
| .NET Framework 4.5 | 5.0.0 |
| .NET Framework 4.5.1 | 5.0.0 |
| .NET Framework 4.5.2 | 5.0.0 |
| .NET Framework 4.6 | 6.3.0 |
| Kerangka Kerja .NET 4.6.1 | 6.3.0 |
| .NET Framework 4.6.2 | 8.0.0 |
Setiap versi standar Unicode menyertakan informasi tentang perubahan pada database karakter Unicode sejak versi sebelumnya. Database karakter Unicode digunakan oleh CharUnicodeInfo kelas untuk mengategorikan karakter.
Metode
| Nama | Deskripsi |
|---|---|
| GetDecimalDigitValue(Char) |
Mendapatkan nilai digit desimal dari karakter numerik yang ditentukan. |
| GetDecimalDigitValue(String, Int32) |
Mendapatkan nilai digit desimal karakter numerik pada indeks yang ditentukan dari string yang ditentukan. |
| GetDigitValue(Char) |
Mendapatkan nilai digit dari karakter numerik yang ditentukan. |
| GetDigitValue(String, Int32) |
Mendapatkan nilai digit karakter numerik pada indeks yang ditentukan dari string yang ditentukan. |
| GetNumericValue(Char) |
Mendapatkan nilai numerik yang terkait dengan karakter yang ditentukan. |
| GetNumericValue(String, Int32) |
Mendapatkan nilai numerik yang terkait dengan karakter pada indeks string yang ditentukan. |
| GetUnicodeCategory(Char) |
Mendapatkan kategori Unicode dari karakter yang ditentukan. |
| GetUnicodeCategory(Int32) |
Mendapatkan kategori Unicode dari karakter yang ditentukan. |
| GetUnicodeCategory(String, Int32) |
Mendapatkan kategori Unicode karakter pada indeks yang ditentukan dari string yang ditentukan. |