Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Struttura Char

Rappresenta un carattere come un'unità di codice UTF-16.

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Char : IComparable, IConvertible, 
	IComparable<char>, IEquatable<char>

Il tipo Char espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreCompareTo(Char)Confronta questa istanza con un oggetto Char specificato e indica se l'istanza precede, segue o viene visualizzata nella stessa posizione dell'oggetto Char specificato all'interno dell'ordinamento.
Metodo pubblicoSupportato da XNA FrameworkCompareTo(Object)Confronta questa istanza con un oggetto specificato e indica se l'istanza precede, segue o viene visualizzata nella stessa posizione dell'oggetto Object specificato all'interno dell'ordinamento.
Metodo pubblicoMembro staticoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreConvertFromUtf32Converte il punto di codice Unicode specificato in una stringa codificata UTF-16.
Metodo pubblicoMembro staticoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreConvertToUtf32(Char, Char)Converte il valore di una coppia di surrogati codificata UTF-16 in un punto di codice Unicode.
Metodo pubblicoMembro staticoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreConvertToUtf32(String, Int32)In corrispondenza della posizione specificata all'interno di una stringa, converte il valore di un carattere o di una coppia di surrogati con codifica UTF-16 in un punto di codice Unicode.
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreEquals(Char)Restituisce un valore che indica se questa istanza è uguale all'oggetto Char specificato.
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreEquals(Object) Restituisce un valore che indica se questa istanza è uguale ad un oggetto specificato. (Esegue l'override di ValueType.Equals(Object)).
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetHashCode Restituisce il codice hash per questa istanza. (Esegue l'override di ValueType.GetHashCode()).
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetNumericValue(Char) Converte il carattere numerico Unicode specificato in un numero in virgola mobile a doppia precisione.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetNumericValue(String, Int32) Converte il carattere numerico Unicode nella posizione specificata di una determinata stringa in un numero in virgola mobile a precisione doppia.
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkGetTypeCode Restituisce il TypeCode per il tipo valore Char.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkGetUnicodeCategory(Char) Categorizza un carattere Unicode specificato in un gruppo identificato da uno dei valori dell'enumerazione UnicodeCategory.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkGetUnicodeCategory(String, Int32) Categorizza il carattere in corrispondenza della posizione specificata in una determinata stringa in un gruppo identificato da uno dei valori dell'enumerazione UnicodeCategory.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsControl(Char) Indica se il carattere Unicode specificato è categorizzato come un carattere di controllo.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsControl(String, Int32) Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è categorizzato come un carattere di controllo.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsDigit(Char) Indica se il carattere Unicode specificato è stato categorizzato come una cifra decimale.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsDigit(String, Int32) Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come una cifra decimale.
Metodo pubblicoMembro staticoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsHighSurrogate(Char)Indica se l'oggetto Char specificato è un surrogato alto.
Metodo pubblicoMembro staticoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsHighSurrogate(String, Int32)Indica se l'oggetto Char in corrispondenza della posizione specificata all'interno di una stringa è un surrogato alto.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsLetter(Char) Indica se il carattere Unicode specificato è stato categorizzato come una lettera Unicode.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsLetter(String, Int32) Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è categorizzato come una lettera Unicode.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsLetterOrDigit(Char) Indica se il carattere Unicode specificato è stato categorizzato come una lettera o una cifra decimale.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsLetterOrDigit(String, Int32) Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è categorizzato come una lettera o una cifra decimale.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsLower(Char) Indica se il carattere Unicode specificato è categorizzato come una lettera minuscola.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsLower(String, Int32) Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è categorizzato come una lettera minuscola.
Metodo pubblicoMembro staticoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsLowSurrogate(Char)Indica se l'oggetto Char specificato è un surrogato basso.
Metodo pubblicoMembro staticoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsLowSurrogate(String, Int32)Indica se l'oggetto Char in corrispondenza della posizione specificata all'interno di una stringa è un surrogato basso.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsNumber(Char) Indica se il carattere Unicode specificato è categorizzato come un numero.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsNumber(String, Int32) Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è categorizzato come un numero.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsPunctuation(Char) Indica se il carattere Unicode specificato è categorizzato come un segno di punteggiatura.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsPunctuation(String, Int32) Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è categorizzato come un segno di punteggiatura.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsSeparator(Char) Indica se il carattere Unicode specificato è categorizzato come un carattere separatore.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsSeparator(String, Int32) Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è categorizzato come un carattere separatore.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsSurrogate(Char) Indica se il carattere specificato dispone di un'unità di codice surrogata.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsSurrogate(String, Int32) Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa dispone di un'unità di codice surrogata.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsSurrogatePair(Char, Char)Indica se i due oggetti Char specificati formano una coppia di surrogati.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsSurrogatePair(String, Int32)Indica se due oggetti Char adiacenti in corrispondenza di una posizione specificata all'interno di una stringa formano una coppia di surrogati.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsSymbol(Char) Indica se il carattere Unicode specificato è categorizzato come un carattere simbolo.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsSymbol(String, Int32) Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è categorizzato come un carattere simbolo.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsUpper(Char) Indica se il carattere Unicode specificato è categorizzato come una lettera maiuscola.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsUpper(String, Int32) Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è categorizzato come una lettera maiuscola.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsWhiteSpace(Char) Indica se il carattere Unicode specificato è categorizzato come uno spazio.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIsWhiteSpace(String, Int32) Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è categorizzato come uno spazio.
Metodo pubblicoMembro staticoParse Converte il valore della stringa specificata nel suo equivalente carattere Unicode.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreToLower(Char) Converte il valore di un carattere Unicode nel suo equivalente carattere minuscolo.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileToLower(Char, CultureInfo) Converte il valore di uno specifico carattere Unicode nel suo equivalente carattere minuscolo mediante le informazioni di formattazione relative alle impostazioni di cultura specificate.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreToLowerInvariant Converte il valore di un carattere Unicode nel suo equivalente carattere minuscolo mediante le regole relative all'utilizzo di maiuscole e minuscole delle impostazioni di cultura invarianti.
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreToString() Converte il valore dell'istanza corrente nella sua equivalente rappresentazione in forma di stringa. (Esegue l'override di ValueType.ToString()).
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreToString(Char) Converte il carattere Unicode specificato nella sua equivalente rappresentazione in forma di stringa.
Metodo pubblicoSupportato da XNA FrameworkToString(IFormatProvider) Converte il valore dell'istanza corrente nella sua rappresentazione equivalente in forma di stringa, utilizzando le informazioni sul formato relative alle impostazioni di cultura specificate.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreToUpper(Char) Converte il valore di un carattere Unicode nel suo equivalente carattere maiuscolo.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileToUpper(Char, CultureInfo) Converte il valore di uno specifico carattere Unicode nel suo equivalente carattere maiuscolo mediante le informazioni di formattazione relative alle impostazioni di cultura specificate.
Metodo pubblicoMembro staticoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreToUpperInvariant Converte il valore di un carattere Unicode nell'equivalente carattere maiuscolo mediante le regole relative all'utilizzo di maiuscole e minuscole delle impostazioni di cultura invarianti.
Metodo pubblicoMembro staticoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreTryParse Converte il valore della stringa specificata nel suo equivalente carattere Unicode. Un codice restituito indica se la conversione ha avuto esito positivo o negativo.
In alto

  NomeDescrizione
Campo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreMaxValueRappresenta il valore massimo possibile di un oggetto Char. Questo campo è costante.
Campo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreMinValueRappresenta il valore minimo possibile di un oggetto Char. Questo campo è costante.
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIComparable.CompareTo Confronta l'istanza corrente con un altro oggetto dello stesso tipo e restituisce un numero intero che indica se l'istanza corrente precede, segue, oppure si trova nella stessa posizione nell'ordinamento rispetto all'altro oggetto.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToBooleanInfrastruttura. Nota Questa conversione non è supportata. Qualsiasi tentativo di eseguire tale operazione genera un'eccezione InvalidCastException.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToByteInfrastruttura. Per una descrizione di questo membro, vedere il metodo IConvertible.ToByte.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToCharInfrastruttura. Per una descrizione di questo membro, vedere il metodo IConvertible.ToChar.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToDateTimeInfrastruttura. Nota Questa conversione non è supportata. Qualsiasi tentativo di eseguire tale operazione genera un'eccezione InvalidCastException.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToDecimalInfrastruttura. Nota Questa conversione non è supportata. Qualsiasi tentativo di eseguire tale operazione genera un'eccezione InvalidCastException.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToDoubleInfrastruttura. Nota Questa conversione non è supportata. Qualsiasi tentativo di eseguire tale operazione genera un'eccezione InvalidCastException.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToInt16Infrastruttura. Per una descrizione di questo membro, vedere il metodo IConvertible.ToInt16.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToInt32Infrastruttura. Per una descrizione di questo membro, vedere il metodo IConvertible.ToInt32.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToInt64Infrastruttura. Per una descrizione di questo membro, vedere il metodo IConvertible.ToInt64.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToSByteInfrastruttura. Per una descrizione di questo membro, vedere il metodo IConvertible.ToSByte.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToSingleInfrastruttura. Nota Questa conversione non è supportata. Qualsiasi tentativo di eseguire tale operazione genera un'eccezione InvalidCastException.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToTypeInfrastruttura. Per una descrizione di questo membro, vedere il metodo IConvertible.ToType.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToUInt16Infrastruttura. Per una descrizione di questo membro, vedere il metodo IConvertible.ToUInt16.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToUInt32Infrastruttura. Per una descrizione di questo membro, vedere il metodo IConvertible.ToUInt32.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIConvertible.ToUInt64Infrastruttura. Per una descrizione di questo membro, vedere il metodo IConvertible.ToUInt64.
In alto

.NET Framework utilizza la struttura Char per rappresentare un carattere Unicode. Lo standard Unicode identifica ciascun carattere Unicode con un numero scalare univoco a 21 bit denominato punto di codice. Inoltre, tale standard definisce il formato di codifica UTF-16 che specifica in che modo un punto di codice viene codificato in una sequenza di uno o più valori a 16 bit. Ciascun valore a 16 bit è compreso tra i valori esadecimali 0x0000 e 0xFFFF ed è memorizzato in una struttura Char. Il valore di un oggetto Char è rappresentato dal valore numerico (ordinale) a 16 bit a esso associato.

Oggetti char, caratteri Unicode e stringhe

Un oggetto String è una raccolta sequenziale di strutture Char che rappresenta una stringa di testo. La maggior parte dei caratteri Unicode può essere rappresentata da un singolo oggetto Char. Tuttavia, un carattere codificato come un carattere di base, una coppia di surrogati e/o una sequenza di caratteri di unione è rappresentato da più oggetti Char. Per tale motivo, una struttura Char in un oggetto String non equivale necessariamente a un singolo carattere Unicode.

Più unità di codice a 16 bit vengono utilizzate per rappresentare i singoli caratteri Unicode nei casi seguenti:

  • Glifi, che possono essere costituiti da un unico carattere o da un carattere di base seguito da uno o più caratteri in combinazione. Il carattere ä, ad esempio, è rappresentato da un oggetto Char, la cui unità di codice è U+0061 seguito da un oggetto Char, la cui unità di codice è U+0308. Il carattere ä può essere definito anche da un unico oggetto Char che dispone di un'unità di codice di U+00E4. Nell'esempio seguente viene illustrato che il carattere ä è costituito da due oggetti Char.

    
    using System;
    using System.IO;
    
    public class Example
    {
       public static void Main()
       {
          StreamWriter sw = new StreamWriter("chars1.txt");
          char[] chars = { '\u0061', '\u0308' };
          string strng = new String(chars);
          sw.WriteLine(strng); 
          sw.Close();
       }
    }
    // The example produces the following output:
    //       ä
    
    
    
  • Caratteri non inclusi in Basic Multilingual Plane (BMP) di Unicode. Unicode supporta sedici piani oltre a BMP che rappresenta il piano 0. Un punto di codice Unicode viene rappresentato in UTF-32 da un valore a 21 bit che include il piano. Ad esempio, U+1D160 rappresenta il carattere relativo a MUSICAL SYMBOL EIGHTH NOTE (croma). Poiché la codifica UTF-16 dispone di solo 16 bit, i caratteri non inclusi in Basic Multilingual Plane (BMP) vengono rappresentati da coppie di surrogati in UTF-16. Nell'esempio seguente viene illustrato che l'equivalente UTF-32 di U+1D160, il carattere MUSICAL SYMBOL EIGHTH NOTE, è U+D834 U+DD60. U+D834 è il surrogato alto; i surrogati alti vanno da U+D800 a U+DBFF. U+DD60 è il surrogato basso; i surrogati bassi vanno da U+DC00 a U+DFFF.

    
    using System;
    using System.IO;
    
    public class Example
    {
       public static void Main()
       {
          StreamWriter sw = new StreamWriter(@".\chars2.txt");
          int utf32 = 0x1D160;
          string surrogate = Char.ConvertFromUtf32(utf32);
          sw.WriteLine("U+{0:X6} UTF-32 = {1} ({2}) UTF-16", 
                       utf32, surrogate, ShowCodePoints(surrogate));
          sw.Close();                    
       }
    
       private static string ShowCodePoints(string value)
       {
          string retval = null;
          foreach (var ch in value)
             retval += String.Format("U+{0:X4} ", Convert.ToUInt16(ch));
    
          return retval.Trim();
       }
    }
    // The example produces the following output:
    //       U+01D160 UTF-32 = ð (U+D834 U+DD60) UTF-16
    
    
    

Caratteri ed elementi di testo

Poiché un singolo carattere può essere rappresentato da oggetti Char multipli, non è sempre significativo utilizzare gli oggetti Char in maniera individuale. Ad esempio, il seguente esempio converte i punti di codice Unicode che rappresentano numeri egei da zero a 9 alle unità di codice codificate con UTF-16. Poiché equipara erroneamente gli oggetti Char con i caratteri, impropriamente riporta che la stringa di risultato ha 20 caratteri.


using System;

public class Example
{
   public static void Main()
   {
      string result = String.Empty;
      for (int ctr = 0x10107; ctr <= 0x10110; ctr++)  // Range of Aegean numbers.
         result += Char.ConvertFromUtf32(ctr);

      Console.WriteLine("The string contains {0} characters.", result.Length); 
   }
}
// The example displays the following output:
//     The string contains 20 characters.


È possibile effettuare le operazioni seguenti per evitare che un oggetto Char rappresenti un singolo carattere.

  • È possibile utilizzare un oggetto String in modo completo anziché utilizzare i suoi singoli caratteri per rappresentare e analizzare il contenuto del linguaggio.

  • È possibile utilizzare la classe StringInfo per utilizzare gli elementi di testo anziché gli oggetti Char. Nell'esempio seguente viene utilizzato l'oggetto StringInfo per contare il numero di elementi di testo in una stringa costituita dai numeri egei da zero a nove. Poiché considera una coppia di surrogati un singolo carattere, riporta correttamente che la stringa contiene dieci caratteri.

    
    using System;
    using System.Globalization;
    
    public class Example
    {
       public static void Main()
       {
          string result = String.Empty;
          for (int ctr = 0x10107; ctr <= 0x10110; ctr++)  // Range of Aegean numbers.
             result += Char.ConvertFromUtf32(ctr);
    
          StringInfo si = new StringInfo(result);
          Console.WriteLine("The string contains {0} characters.", 
                            si.LengthInTextElements); 
       }
    }
    // The example displays the following output:
    //       The string contains 10 characters.
    
    
    
  • Se la stringa contiene un carattere base con uno o più caratteri in combinazione, è possibile chiamare il metodo String.Normalize per convertire la sottostringa in una singola unità di codice con codifica UTF-16. Nell'esempio viene chiamato il metodo String.Normalize per convertire il carattere base U+0061 (LETTERA LATINA MINUSCOLA A) e il carattere di unione U+0308 (COMBINA DIERESI) in U+00E4 (LETTERA LATINA MINUSCOLA CON UNA DIERESI).

    
    using System;
    
    public class Example
    {
       public static void Main()
       {
          string combining = "\u0061\u0308";
          ShowString(combining);
    
          string normalized = combining.Normalize();
          ShowString(normalized);
       }
    
       private static void ShowString(string s)
       {
          Console.Write("Length of string: {0} (", s.Length);
          for (int ctr = 0; ctr < s.Length; ctr++) {
             Console.Write("U+{0:X4}", Convert.ToUInt16(s[ctr]));
             if (ctr != s.Length - 1) Console.Write(" ");
          } 
          Console.WriteLine(")\n");
       }
    }
    // The example displays the following output:
    //       Length of string: 2 (U+0061 U+0308)
    //       
    //       Length of string: 1 (U+00E4)
    
    
    

Operazioni Comuni

La struttura Char fornisce metodi per confrontare gli oggetti Char, convertire il valore dell'oggetto Char corrente su un oggetto di un altro tipo e determinare la categoria Unicode di un oggetto Char:

Operazione da eseguire

Utilizzare questi metodi di System.Char

Confrontare oggetti Char

CompareTo e Equals.

Convertire un punto di codice in una stringa

ConvertFromUtf32

Convertire un oggetto Char o una coppia di surrogati di oggetti Char in un punto di codice

ConvertToUtf32

Ottenere la categoria Unicode di un carattere

GetUnicodeCategory

Determinare se un carattere appartiene a una categoria Unicode specifica, come ad esempio cifra, lettera, punteggiatura, carattere di controllo e così via.

IsControl , IsDigit, IsHighSurrogate, IsLetter, IsLetterOrDigit, IsLower, IsLowSurrogate, IsNumber, IsPunctuation, IsSeparator, IsSurrogate, IsSurrogatePair, IsSymbol, IsUpper e IsWhiteSpace

Convertire un oggetto Char che rappresenta un numero in un tipo di valore numerico

GetNumericValue

Converte un carattere in una stringa in un oggetto Char

Parse e TryParse.

Convertire un oggetto Char in un oggetto String

ToString

Modificare il caso (minuscolo o maiuscolo) di un oggetto Char

ToLower , ToLowerInvariant, ToUpper e ToUpperInvariant

Nell'esempio di codice riportato di seguito vengono illustrati alcuni metodi della classe Char.


using System;

public class CharStructureSample {
	public static void Main() {
		char chA = 'A';
		char ch1 = '1';
		string str = "test string"; 

		Console.WriteLine(chA.CompareTo('B'));			// Output: "-1" (meaning 'A' is 1 less than 'B')
		Console.WriteLine(chA.Equals('A'));				// Output: "True"
		Console.WriteLine(Char.GetNumericValue(ch1));	// Output: "1"
		Console.WriteLine(Char.IsControl('\t'));		// Output: "True"
		Console.WriteLine(Char.IsDigit(ch1));			// Output: "True"
		Console.WriteLine(Char.IsLetter(','));			// Output: "False"
		Console.WriteLine(Char.IsLower('u'));			// Output: "True"
		Console.WriteLine(Char.IsNumber(ch1));			// Output: "True"
		Console.WriteLine(Char.IsPunctuation('.'));		// Output: "True"
		Console.WriteLine(Char.IsSeparator(str, 4));	// Output: "True"
		Console.WriteLine(Char.IsSymbol('+'));			// Output: "True"
		Console.WriteLine(Char.IsWhiteSpace(str, 4));	// Output: "True"
		Console.WriteLine(Char.Parse("S"));				// Output: "S"
		Console.WriteLine(Char.ToLower('M'));			// Output: "m"
		Console.WriteLine('x'.ToString());				// Output: "x"
	}
}


.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Tutti i membri di questo tipo sono thread-safe. I membri che sembrano modificare lo stato dell'istanza restituiscono in realtà una nuova istanza inizializzata con il nuovo valore. Come con qualsiasi altro tipo, le operazioni di lettura e scrittura su una variabile condivisa che contiene un'istanza di questo tipo devono essere protette da un blocco per garantire che siano thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft