CharUnicodeInfo Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Recupera informações sobre um caractere Unicode. Essa classe não pode ser herdada.
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
- Herança
-
CharUnicodeInfo
Exemplos
O exemplo de código a seguir mostra os valores retornados por cada método para diferentes tipos de caracteres.
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
Comentários
O Padrão Unicode define uma série de categorias de caracteres Unicode. Por exemplo, um caractere pode ser categorizado como uma letra maiúscula, uma letra minúscula, um número de dígito decimal, um número de letra, um separador de parágrafo, um símbolo matemático ou um símbolo de moeda. Seu aplicativo pode usar a categoria de caractere para controlar operações baseadas em cadeia de caracteres, como analisar ou extrair subcadeia de caracteres com expressões regulares. A UnicodeCategory enumeração define as possíveis categorias de caracteres.
Use a CharUnicodeInfo classe para obter o UnicodeCategory valor de um caractere específico. A CharUnicodeInfo classe define métodos que retornam os seguintes valores de caractere Unicode:
A categoria específica à qual pertence um caractere ou par substituto. O valor retornado é um membro da UnicodeCategory enumeração.
Valor numérico. Aplica-se somente a caracteres numéricos, incluindo frações, subscritos, sobrescritos, numerais romanos, numeradores de moeda, números circundados e dígitos específicos do script.
Valor de dígito. Aplica-se a caracteres numéricos que podem ser combinados com outros caracteres numéricos para representar um número inteiro em um sistema de numeração.
Valor de dígito decimal. Aplica-se somente a caracteres que representam dígitos decimais no sistema decimal (base 10). Um dígito decimal pode ser um dos dez dígitos, de zero a nove. Esses caracteres são membros da UnicodeCategory.DecimalDigitNumber categoria.
Além disso, a classe CharUnicodeInfo é usada internamente por vários outros tipos de .NET e métodos que dependem da classificação de caracteres. Elas incluem:
A StringInfo classe, que funciona com elementos textuais em vez de caracteres únicos em uma cadeia de caracteres.
As sobrecargas do Char.GetUnicodeCategory método, que determinam a categoria à qual um caractere ou par substituto pertence.
As classes character reconhecidas por Regex, o mecanismo de expressão regular do .NET.
Ao usar essa classe em seus aplicativos, tenha em mente as seguintes considerações de programação para usar o Char tipo. O tipo pode ser difícil de usar e as cadeias de caracteres geralmente são preferíveis para representar o conteúdo linguístico.
Um Char objeto nem sempre corresponde a um único caractere. Embora o Char tipo represente um único valor de 16 bits, alguns caracteres (como clusters de grafo e pares alternativos) consistem em duas ou mais unidades de código UTF-16. Para obter mais informações, consulte "Objetos Char e Caracteres Unicode" na String classe.
A noção de um "caractere" também é flexível. Um caractere geralmente é considerado como um glifo, mas muitos glifos exigem vários pontos de código. Por exemplo, ä pode ser representado por dois pontos de código ("a" mais U+0308, que é a diaerese de combinação) ou por um único ponto de código ("ä" ou U+00A4). Algumas linguagens têm muitas letras, caracteres e glifos que exigem vários pontos de código, o que pode causar confusão na representação de conteúdo linguístico. Por exemplo, há um ΰ (U+03B0, letra pequena grega upsilon com dialytika e tonos), mas não há letra maiúscula equivalente. A maiúscula desse valor simplesmente recupera o valor original.
Notas aos Chamadores
Os caracteres reconhecidos e as categorias específicas às quais pertencem são definidos pelo padrão Unicode e podem mudar de uma versão do Padrão Unicode para outra. A categorização de caracteres em uma versão específica do .NET Framework baseia-se em uma única versão do Padrão Unicode, independentemente do sistema operacional subjacente no qual .NET Framework está em execução. A tabela a seguir lista versões do .NET Framework desde .NET Framework 4 e as versões do Padrão Unicode usadas para classificar caracteres.
| Versão do .NET Framework | Versão Padrão Unicode |
|---|---|
| .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 |
| .NET Framework 4.6.1 | 6.3.0 |
| .NET Framework 4.6.2 | 8.0.0 |
Cada versão do padrão Unicode inclui informações sobre alterações no banco de dados de caracteres Unicode desde a versão anterior. O banco de dados de caracteres Unicode é usado pela CharUnicodeInfo classe para categorizar caracteres.
Métodos
| Nome | Description |
|---|---|
| GetDecimalDigitValue(Char) |
Obtém o valor de dígito decimal do caractere numérico especificado. |
| GetDecimalDigitValue(String, Int32) |
Obtém o valor de dígito decimal do caractere numérico no índice especificado da cadeia de caracteres especificada. |
| GetDigitValue(Char) |
Obtém o valor de dígito do caractere numérico especificado. |
| GetDigitValue(String, Int32) |
Obtém o valor de dígito do caractere numérico no índice especificado da cadeia de caracteres especificada. |
| GetNumericValue(Char) |
Obtém o valor numérico associado ao caractere especificado. |
| GetNumericValue(String, Int32) |
Obtém o valor numérico associado ao caractere no índice especificado da cadeia de caracteres especificada. |
| GetUnicodeCategory(Char) |
Obtém a categoria Unicode do caractere especificado. |
| GetUnicodeCategory(Int32) |
Obtém a categoria Unicode do caractere especificado. |
| GetUnicodeCategory(String, Int32) |
Obtém a categoria Unicode do caractere no índice especificado da cadeia de caracteres especificada. |