Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo CharUnicodeInfo.GetUnicodeCategory (String, Int32)

 

Data di pubblicazione: ottobre 2016

Ottiene la categoria Unicode del carattere in corrispondenza dell'indice specificato della stringa specificata.

Spazio dei nomi:   System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

public static UnicodeCategory GetUnicodeCategory(
	string s,
	int index
)

Parametri

s
Type: System.String

Il String contenente il carattere Unicode per cui ottenere la categoria Unicode.

index
Type: System.Int32

L'indice del carattere Unicode per cui ottenere la categoria Unicode.

Valore restituito

Type: System.Globalization.UnicodeCategory

Oggetto UnicodeCategory valore che indica la categoria del carattere in corrispondenza dell'indice specificato della stringa specificata.

Exception Condition
ArgumentNullException

s è null.

ArgumentOutOfRangeException

index è compreso nell'intervallo di indici validi in s.

I caratteri Unicode sono suddivisi in categorie. Categoria del carattere è una delle relative proprietà. Ad esempio, un carattere potrebbe essere una lettera maiuscola, una lettera minuscola, un numero di cifre decimali, un lettera, un numero, un segno di punteggiatura connettore, un simbolo matematico o un simbolo di valuta. La UnicodeCategory classe restituisce la categoria di un carattere Unicode. Per ulteriori informazioni sui caratteri Unicode, vedere il Unicode Standard.

Se il Char oggetto posizione index è il primo carattere di una coppia di surrogati valide, la GetUnicodeCategory(String, Int32) metodo restituisce la categoria Unicode della coppia di surrogati anziché restituire UnicodeCategory.Surrogate. Ad esempio, l'alfabeto ugaritico occupa punti di codice U + 10380 e U + 1039F. Nell'esempio seguente viene utilizzata la ConvertFromUtf32 metodo per creare un'istanza di una stringa che rappresenta UGARITIC LETTER ALPA (U + 10380), che è la prima lettera dell'alfabeto Ugaritic. Come illustrato nell'esempio, l'output di GetUnicodeCategory(String, Int32) restituisce UnicodeCategory.OtherLetter Se viene passato il surrogato alto di questo carattere, che indica che viene considerata la coppia di surrogati. Tuttavia, se viene passato il surrogato basso, considera solo il surrogato basso in isolamento e restituisce UnicodeCategory.Surrogate.

int utf32 = 0x10380;       // UGARITIC LETTER ALPA
string surrogate = Char.ConvertFromUtf32(utf32);
for (int ctr = 0; ctr < surrogate.Length; ctr++)
   Console.WriteLine("U+{0:X4}: {1:G}", 
                     Convert.ToUInt16(surrogate[ctr]), 
                     System.Globalization.CharUnicodeInfo.GetUnicodeCategory(surrogate, ctr));
// The example displays the following output:
//       U+D800: OtherLetter
//       U+DF80: Surrogate      

Si noti che CharUnicodeInfo.GetUnicodeCategory metodo non restituisce sempre lo stesso UnicodeCategory valore come il Char.GetUnicodeCategory metodo quando viene passato un particolare carattere come parametro. Il CharUnicodeInfo.GetUnicodeCategory metodo è progettato in modo da riflettere la versione corrente dello standard Unicode. Al contrario, sebbene il Char.GetUnicodeCategory metodo in genere riflette la versione corrente dello standard Unicode, potrebbe restituire categoria del carattere basata su una versione precedente dello standard o potrebbe restituire una categoria diversa dallo standard corrente per mantenere la compatibilità con le versioni precedenti.

Esempio di codice seguente vengono illustrati i valori restituiti da ogni metodo per diversi tipi di caratteri.

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\u0393\u00B2\u00BC\u0BEF\u0BF0\u2788
index c  Num   Dig   Dec   UnicodeCategory
0     a   -1    -1    -1   LowercaseLetter
1     9   9     9     9    DecimalDigitNumber
2     \u0393   -1    -1    -1   UppercaseLetter
3     \u00B2   2     2     2    OtherNumber
4     \u00BC   0.25  -1    -1   OtherNumber
5     \u0BEF   9     9     9    DecimalDigitNumber
6     \u0BF0   10    -1    -1   OtherNumber
7     \u2788   9     9     -1   OtherNumber

*/

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 2.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: