CharUnicodeInfo CharUnicodeInfo CharUnicodeInfo CharUnicodeInfo Class

Definizione

Recupera le informazioni relative a un carattere Unicode.Retrieves information about a Unicode character. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class CharUnicodeInfo abstract sealed
public static class CharUnicodeInfo
type CharUnicodeInfo = class
Public Class CharUnicodeInfo
Ereditarietà
CharUnicodeInfoCharUnicodeInfoCharUnicodeInfoCharUnicodeInfo

Esempi

Nell'esempio di codice riportato di seguito vengono illustrati i valori restituiti da ogni metodo per diversi tipi di caratteri.The following code example shows the values returned by each method for different types of characters.

using namespace System;
using namespace System::Globalization;
void PrintProperties( Char c );
int main()
{
   Console::WriteLine( "                                        c  Num   Dig   Dec   UnicodeCategory" );
   Console::Write( "U+0061 LATIN SMALL LETTER A            " );
   PrintProperties( L'a' );
   Console::Write( "U+0393 GREEK CAPITAL LETTER GAMMA      " );
   PrintProperties( L'\u0393' );
   Console::Write( "U+0039 DIGIT NINE                      " );
   PrintProperties( L'9' );
   Console::Write( "U+00B2 SUPERSCRIPT TWO                 " );
   PrintProperties( L'\u00B2' );
   Console::Write( "U+00BC VULGAR FRACTION ONE QUARTER     " );
   PrintProperties( L'\u00BC' );
   Console::Write( "U+0BEF TAMIL DIGIT NINE                " );
   PrintProperties( L'\u0BEF' );
   Console::Write( "U+0BF0 TAMIL NUMBER TEN                " );
   PrintProperties( L'\u0BF0' );
   Console::Write( "U+0F33 TIBETAN DIGIT HALF ZERO         " );
   PrintProperties( L'\u0F33' );
   Console::Write( "U+2788 CIRCLED SANS-SERIF DIGIT NINE   " );
   PrintProperties( L'\u2788' );
}

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       \u0393   -1    -1    -1   UppercaseLetter
U+0039 DIGIT NINE                       9   9     9     9    DecimalDigitNumber
U+00B2 SUPERSCRIPT TWO                  \u00B2   2     2     2    OtherNumber
U+00BC VULGAR FRACTION ONE QUARTER      \u00BC   0.25  -1    -1   OtherNumber
U+0BEF TAMIL DIGIT NINE                 \u0BEF   9     9     9    DecimalDigitNumber
U+0BF0 TAMIL NUMBER TEN                 \u0BF0   10    -1    -1   OtherNumber
U+0F33 TIBETAN DIGIT HALF ZERO          \u0F33   -0.5  -1    -1   OtherNumber
U+2788 CIRCLED SANS-SERIF DIGIT NINE    \u2788   9     9     -1   OtherNumber

*/
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       \u0393   -1    -1    -1   UppercaseLetter
U+0039 DIGIT NINE                       9   9     9     9    DecimalDigitNumber
U+00B2 SUPERSCRIPT TWO                  \u00B2   2     2     2    OtherNumber
U+00BC VULGAR FRACTION ONE QUARTER      \u00BC   0.25  -1    -1   OtherNumber
U+0BEF TAMIL DIGIT NINE                 \u0BEF   9     9     9    DecimalDigitNumber
U+0BF0 TAMIL NUMBER TEN                 \u0BF0   10    -1    -1   OtherNumber
U+0F33 TIBETAN DIGIT HALF ZERO          \u0F33   -0.5  -1    -1   OtherNumber
U+2788 CIRCLED SANS-SERIF DIGIT NINE    \u2788   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 'Main

   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 'PrintProperties

End Class 'SamplesCharUnicodeInfo 


'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       \u0393   -1    -1    -1   UppercaseLetter
'U+0039 DIGIT NINE                       9   9     9     9    DecimalDigitNumber
'U+00B2 SUPERSCRIPT TWO                  \u00B2   2     2     2    OtherNumber
'U+00BC VULGAR FRACTION ONE QUARTER      \u00BC   0.25  -1    -1   OtherNumber
'U+0BEF TAMIL DIGIT NINE                 \u0BEF   9     9     9    DecimalDigitNumber
'U+0BF0 TAMIL NUMBER TEN                 \u0BF0   10    -1    -1   OtherNumber
'U+0F33 TIBETAN DIGIT HALF ZERO          \u0F33   -0.5  -1    -1   OtherNumber
'U+2788 CIRCLED SANS-SERIF DIGIT NINE    \u2788   9     9     -1   OtherNumber

Commenti

Lo standard Unicode definisce diverse categorie di caratteri Unicode.The Unicode Standard defines a number of Unicode character categories. Un carattere, ad esempio, può essere categorizzato come una lettera maiuscola, una lettera minuscola, un numero di cifre decimali, un numero di lettera, un separatore di paragrafo, un simbolo matematico o un simbolo di valuta.For example, a character might be categorized as an uppercase letter, a lowercase letter, a decimal digit number, a letter number, a paragraph separator, a math symbol, or a currency symbol. L'applicazione può usare la categoria character per gestire le operazioni basate su stringa, ad esempio l'analisi o l'estrazione della sottostringa con espressioni regolari.Your application can use the character category to govern string-based operations, such as parsing or extracting substring with regular expressions. L' UnicodeCategory enumerazione definisce le categorie di caratteri possibili.The UnicodeCategory enumeration defines the possible character categories.

Per ottenere il CharUnicodeInfo UnicodeCategory valore per un carattere specifico, usare la classe.You use the CharUnicodeInfo class to obtain the UnicodeCategory value for a specific character. La CharUnicodeInfo classe definisce i metodi che restituiscono i valori di carattere Unicode seguenti:The CharUnicodeInfo class defines methods that return the following Unicode character values:

  • Categoria specifica a cui appartiene un carattere o una coppia di surrogati.The specific category to which a character or surrogate pair belongs. Il valore restituito è un membro dell' UnicodeCategory enumerazione.The value returned is a member of the UnicodeCategory enumeration.

  • Valore numerico.Numeric value. Si applica solo ai caratteri numerici, inclusi frazioni, pedici, apici, numeri romani, numeratori di valuta, numeri con cerchia e cifre specifiche dello script.Applies only to numeric characters, including fractions, subscripts, superscripts, Roman numerals, currency numerators, encircled numbers, and script-specific digits.

  • Valore della cifra.Digit value. Si applica ai caratteri numerici che possono essere combinati con altri caratteri numerici per rappresentare un numero intero in un sistema di numerazione.Applies to numeric characters that can be combined with other numeric characters to represent a whole number in a numbering system.

  • Valore della cifra decimale.Decimal digit value. Si applica solo ai caratteri che rappresentano cifre decimali nel sistema decimale (base 10).Applies only to characters that represent decimal digits in the decimal (base 10) system. Una cifra decimale può essere costituita da una decina di cifre, da zero a nove.A decimal digit can be one of ten digits, from zero through nine. Questi caratteri sono membri della UnicodeCategory.DecimalDigitNumber categoria.These characters are members of the UnicodeCategory.DecimalDigitNumber category.

Inoltre, la CharUnicodeInfo classe viene utilizzata internamente da un certo numero di altri tipi di .NET Framework e metodi basati sulla classificazione dei caratteri.In addition, the CharUnicodeInfo class is used internally by a number of other .NET Framework types and methods that rely on character classification. Sono inclusi:These include:

  • La StringInfo classe, che funziona con gli elementi testuali invece che con singoli caratteri in una stringa.The StringInfo class, which works with textual elements instead of single characters in a string.

  • Overload del Char.GetUnicodeCategory metodo, che determinano la categoria a cui appartiene un carattere o una coppia di surrogati.The overloads of the Char.GetUnicodeCategory method, which determine the category to which a character or surrogate pair belongs.

  • Classi di caratteri riconosciute Regexda, il motore delle espressioni regolari del .NET Framework.The character classes recognized by Regex, the .NET Framework's regular expression engine.

Quando si usa questa classe nelle applicazioni, tenere presenti le considerazioni di programmazione seguenti per l'uso Char del tipo.When using this class in your applications, keep in mind the following programming considerations for using the Char type. Il tipo può essere difficile da usare e le stringhe sono in genere preferibili per la rappresentazione del contenuto linguistico.The type can be difficult to use, and strings are generally preferable for representing linguistic content.

  • Un Char oggetto non corrisponde sempre a un singolo carattere.A Char object does not always correspond to a single character. Sebbene il Char tipo rappresenti un singolo valore a 16 bit, alcuni caratteri, ad esempio cluster grafema e coppie di surrogati, sono costituiti da due o più unità di codice UTF-16.Although the Char type represents a single 16-bit value, some characters (such as grapheme clusters and surrogate pairs) consist of two or more UTF-16 code units. Per ulteriori informazioni, vedere "oggetti Char e caratteri Unicode" nella String classe.For more information, see "Char Objects and Unicode Characters" in the String class.

  • Anche la nozione di "carattere" è flessibile.The notion of a "character" is also flexible. Un carattere è spesso considerato come un glifo, ma molti glifi richiedono più punti di codice.A character is often thought of as a glyph, but many glyphs require multiple code points. Ad esempio, ä può essere rappresentato da due punti di codice ("a" più U + 0308, che è la combinazione di dieresi) o da un singolo punto di codice ("ä" o U + 00A4).For example, ä can be represented either by two code points ("a" plus U+0308, which is the combining diaeresis), or by a single code point ("ä" or U+00A4). Alcuni linguaggi hanno molte lettere, caratteri e glifi che richiedono più punti di codice, che possono causare confusione nella rappresentazione del contenuto linguistico.Some languages have many letters, characters, and glyphs that require multiple code points, which can cause confusion in linguistic content representation. Ad esempio, è presente un ΰ (U + 03B0, greco di piccole dimensioni con dialytika e tonos), ma non esiste una lettera maiuscola equivalente.For example, there is a ΰ (U+03B0, Greek small letter upsilon with dialytika and tonos), but there is no equivalent capital letter. In maiuscolo, tale valore recupera semplicemente il valore originale.Uppercasing such a value simply retrieves the original value.

Note per i chiamanti

I caratteri riconosciuti e le categorie specifiche a cui appartengono sono definiti dallo standard Unicode e possono passare da una versione dello standard Unicode a un'altra.Recognized characters and the specific categories to which they belong are defined by the Unicode standard and can change from one version of the Unicode Standard to another. La categorizzazione dei caratteri in una particolare versione del .NET Framework si basa su una singola versione dello standard Unicode indipendentemente dal sistema operativo sottostante in cui è in esecuzione il .NET Framework.Categorization of characters in a particular version of the .NET Framework is based on a single version of the Unicode Standard regardless of the underlying operating system on which the .NET Framework is running. Nella tabella seguente sono elencate le versioni del .NET Framework a .NET Framework 4.NET Framework 4 partire da e le versioni dello standard Unicode utilizzate per classificare i caratteri.The following table lists versions of the .NET Framework since the .NET Framework 4.NET Framework 4 and the versions of the Unicode Standard used to classify characters.

Versione di .NET Framework.NET Framework version Versione dello standard UnicodeVersion of the Unicode Standard
[!INCLUDE[net_v40_long](~/includes/net-v40-long-md.md)] [Standard Unicode, versione 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/) [The Unicode Standard, Version 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/)
[!INCLUDE[net_v45](~/includes/net-v45-md.md)] [Standard Unicode, versione 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/) [The Unicode Standard, Version 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/)
[!INCLUDE[net_v451](~/includes/net-v451-md.md)] [Standard Unicode, versione 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/) [The Unicode Standard, Version 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/)
[!INCLUDE[net_v452](~/includes/net-v452-md.md)] [Standard Unicode, versione 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/) [The Unicode Standard, Version 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/)
[!INCLUDE[net_v46](~/includes/net-v46-md.md)] [Standard Unicode, versione 6.3.0](https://www.unicode.org/versions/Unicode6.3.0/) [The Unicode Standard, Version 6.3.0](https://www.unicode.org/versions/Unicode6.3.0/)
[!INCLUDE[net_v461](~/includes/net-v461-md.md)] [Standard Unicode, versione 6.3.0](https://www.unicode.org/versions/Unicode6.3.0/) [The Unicode Standard, Version 6.3.0](https://www.unicode.org/versions/Unicode6.3.0/)
[!INCLUDE[net_v462](~/includes/net-v462-md.md)] [Standard Unicode, versione 8.0.0](https://www.unicode.org/versions/Unicode8.0.0/) [The Unicode Standard, Version 8.0.0](https://www.unicode.org/versions/Unicode8.0.0/)

In ogni versione dello standard Unicode sono incluse informazioni sulle modifiche apportate al database di caratteri Unicode rispetto alla versione precedente.Each version of the Unicode standard includes information on changes to the Unicode character database since the previous version. Il database di caratteri Unicode viene utilizzato dalla CharUnicodeInfo classe per la categorizzazione dei caratteri.The Unicode character database is used by the CharUnicodeInfo class for categorizing characters.

Metodi

GetDecimalDigitValue(Char) GetDecimalDigitValue(Char) GetDecimalDigitValue(Char) GetDecimalDigitValue(Char)

Ottiene il valore della cifra decimale del carattere numerico specificato.Gets the decimal digit value of the specified numeric character.

GetDecimalDigitValue(String, Int32) GetDecimalDigitValue(String, Int32) GetDecimalDigitValue(String, Int32) GetDecimalDigitValue(String, Int32)

Ottiene il valore della cifra decimale del carattere numerico nell'indice specificato della stringa specificata.Gets the decimal digit value of the numeric character at the specified index of the specified string.

GetDigitValue(Char) GetDigitValue(Char) GetDigitValue(Char) GetDigitValue(Char)

Ottiene il valore della cifra del carattere numerico specificato.Gets the digit value of the specified numeric character.

GetDigitValue(String, Int32) GetDigitValue(String, Int32) GetDigitValue(String, Int32) GetDigitValue(String, Int32)

Ottiene il valore della cifra del carattere numerico nell'indice specificato della stringa specificata.Gets the digit value of the numeric character at the specified index of the specified string.

GetNumericValue(Char) GetNumericValue(Char) GetNumericValue(Char) GetNumericValue(Char)

Ottiene il valore numerico associato al carattere specificato.Gets the numeric value associated with the specified character.

GetNumericValue(String, Int32) GetNumericValue(String, Int32) GetNumericValue(String, Int32) GetNumericValue(String, Int32)

Ottiene il valore numerico associato al carattere nell'indice specificato della stringa specificata.Gets the numeric value associated with the character at the specified index of the specified string.

GetUnicodeCategory(Char) GetUnicodeCategory(Char) GetUnicodeCategory(Char) GetUnicodeCategory(Char)

Ottiene la categoria Unicode di un carattere specificato.Gets the Unicode category of the specified character.

GetUnicodeCategory(Int32) GetUnicodeCategory(Int32) GetUnicodeCategory(Int32) GetUnicodeCategory(Int32)
GetUnicodeCategory(String, Int32) GetUnicodeCategory(String, Int32) GetUnicodeCategory(String, Int32) GetUnicodeCategory(String, Int32)

Ottiene la categoria Unicode del carattere nell'indice specificato della stringa specificata.Gets the Unicode category of the character at the specified index of the specified string.

Si applica a

Vedi anche