Char Char Char Char Struct

Definizione

Rappresenta un carattere come unità di codice UTF-16.Represents a character as a UTF-16 code unit.

public value class Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
type char = struct
    interface IConvertible
Public Structure Char
Implements IComparable, IComparable(Of Char), IConvertible, IEquatable(Of Char)
Ereditarietà
Attributi
Implementazioni

Esempi

Nell'esempio di codice riportato di seguito vengono illustrati Charalcuni dei metodi in.The following code example demonstrates some of the methods in Char.

using namespace System;
int 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' ); // Output: "x"
}

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"
    }
}
Module CharStructure

    Public Sub Main()

        Dim chA As Char
        chA = "A"c
        Dim ch1 As Char
        ch1 = "1"c
        Dim str As String
        str = "test string"

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

    End Sub

End Module

Commenti

.NET Framework.NET Framework USA laChar struttura per rappresentare un carattere Unicode.The .NET Framework.NET Framework uses the Char structure to represent a Unicode character. Lo standard Unicode identifica ogni carattere Unicode con un numero scalare a 21 bit univoco denominato punto di codice e definisce il formato di codifica UTF-16 che specifica la modalità di codifica di un punto di codice in una sequenza di uno o più valori a 16 bit.The Unicode Standard identifies each Unicode character with a unique 21-bit scalar number called a code point, and defines the UTF-16 encoding form that specifies how a code point is encoded into a sequence of one or more 16-bit values. Ogni valore a 16 bit è compreso tra 0x0000 esadecimali e 0xFFFF e viene archiviato Char in una struttura.Each 16-bit value ranges from hexadecimal 0x0000 through 0xFFFF and is stored in a Char structure. Il valore di un Char oggetto è il valore numerico a 16 bit (ordinale).The value of a Char object is its 16-bit numeric (ordinal) value.

Le sezioni seguenti esaminano la relazione tra Char un oggetto e un carattere e discutono alcune attività comuni Char eseguite con le istanze.The following sections examine the relationship between a Char object and a character and discuss some common tasks performed with Char instances.

Oggetti Char, caratteri Unicode e stringhe Char objects, Unicode characters, and strings
Caratteri e categorie di caratteri Characters and character categories
Caratteri ed elementi di testo Characters and text elements
Operazioni comuni Common operations
Valori Char e interoperabilitàChar values and interop

Oggetti Char, caratteri Unicode e stringheChar objects, Unicode characters, and strings

Un String oggetto è una raccolta sequenziale Char di strutture che rappresenta una stringa di testo.A String object is a sequential collection of Char structures that represents a string of text. La maggior parte dei caratteri Unicode può essere rappresentata da un singolo Char oggetto, ma un carattere codificato come carattere di base, coppia di surrogati e/o sequenza di caratteri di combinazione è rappresentato da più Char oggetti.Most Unicode characters can be represented by a single Char object, but a character that is encoded as a base character, surrogate pair, and/or combining character sequence is represented by multiple Char objects. Per questo motivo, una Char struttura in un String oggetto non è necessariamente equivalente a un singolo carattere Unicode.For this reason, a Char structure in a String object is not necessarily equivalent to a single Unicode character.

Per rappresentare singoli caratteri Unicode nei casi seguenti vengono utilizzate più unità di codice a 16 bit:Multiple 16-bit code units are used to represent single Unicode characters in the following cases:

  • Glifi, che possono essere costituiti da un singolo carattere o da un carattere di base seguito da uno o più caratteri combinati.Glyphs, which may consist of a single character or of a base character followed by one or more combining characters. Il carattere ä, ad esempio, è rappresentato da Char un oggetto la cui unità di codice è u + 0061 Char seguita da un oggetto la cui unità di codice è u + 0308.For example, the character ä is represented by a Char object whose code unit is U+0061 followed by a Char object whose code unit is U+0308. Il carattere ä può anche essere definito da un singolo Char oggetto con un'unità di codice di U + 00E4. Nell'esempio seguente viene illustrato che il carattere ä è costituito Char da due oggetti.(The character ä can also be defined by a single Char object that has a code unit of U+00E4.) The following example illustrates that the character ä consists of two Char objects.

    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:
    //       ä
    
    Imports System.IO
    
    Module Example
       Public Sub Main()
          Dim sw As New StreamWriter("chars1.txt")
          Dim chars() As Char = { ChrW(&h0061), ChrW(&h0308) }
          Dim strng As New String(chars)
          sw.WriteLine(strng) 
          sw.Close()
       End Sub
    End Module
    ' The example produces the following output:
    '       ä
    
  • Caratteri all'esterno del piano multilingue Unicode Basic (BMP).Characters outside the Unicode Basic Multilingual Plane (BMP). Unicode supporta sedici piani oltre al BMP, che rappresenta il piano 0.Unicode supports sixteen planes in addition to the BMP, which represents plane 0. Un punto di codice Unicode viene rappresentato in UTF-32 da un valore a 21 bit che include il piano.A Unicode code point is represented in UTF-32 by a 21-bit value that includes the plane. Ad esempio, U + 1D160 rappresenta il carattere simbolo musicale OTTAVo di nota.For example, U+1D160 represents the MUSICAL SYMBOL EIGHTH NOTE character. Poiché la codifica UTF-16 ha solo 16 bit, i caratteri all'esterno del BMP sono rappresentati da coppie di surrogati in UTF-16.Because UTF-16 encoding has only 16 bits, characters outside the BMP are represented by surrogate pairs in UTF-16. Nell'esempio seguente viene illustrato che l'equivalente UTF-32 di U + 1D160, il carattere musicale OTTAVo simbolo, è U + D834 U + DD60.The following example illustrates that the UTF-32 equivalent of U+1D160, the MUSICAL SYMBOL EIGHTH NOTE character, is U+D834 U+DD60. U + D834 è il surrogato alto; i surrogati alti sono compresi tra U + D800 e U + DBFF.U+D834 is the high surrogate; high surrogates range from U+D800 through U+DBFF. U + DD60 è il surrogato basso; i surrogati bassi sono compresi tra U + DC00 e U + DFFF.U+DD60 is the low surrogate; low surrogates range from U+DC00 through 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
    
    Imports System.IO
    
    Module Example
       Public Sub Main()
          Dim sw As New StreamWriter(".\chars2.txt")
          Dim utf32 As Integer = &h1D160
          Dim surrogate As String = Char.ConvertFromUtf32(utf32)
          sw.WriteLine("U+{0:X6} UTF-32 = {1} ({2}) UTF-16", 
                       utf32, surrogate, ShowCodePoints(surrogate))
          sw.Close()                    
       End Sub
    
       Private Function ShowCodePoints(value As String) As String
          Dim retval As String = Nothing
          For Each ch In value
             retval += String.Format("U+{0:X4} ", Convert.ToUInt16(ch))
          Next
          Return retval.Trim()
       End Function
    End Module
    ' The example produces the following output:
    '       U+01D160 UTF-32 = ð (U+D834 U+DD60) UTF-16
    

Caratteri e categorie di caratteriCharacters and character categories

Ogni carattere Unicode o coppia di surrogati valida appartiene a una categoria Unicode.Each Unicode character or valid surrogate pair belongs to a Unicode category. Nell'.NET Framework le categorie Unicode sono rappresentate dai membri UnicodeCategory dell'enumerazione e includono valori UnicodeCategory.CurrencySymbolquali, UnicodeCategory.LowercaseLettere UnicodeCategory.SpaceSeparator, ad esempio.In the .NET Framework, Unicode categories are represented by members of the UnicodeCategory enumeration and include values such as UnicodeCategory.CurrencySymbol, UnicodeCategory.LowercaseLetter, and UnicodeCategory.SpaceSeparator, for example.

Per determinare la categoria Unicode di un carattere, chiamare il GetUnicodeCategory metodo.To determine the Unicode category of a character, you call the GetUnicodeCategory method. Nell'esempio seguente, ad esempio, viene GetUnicodeCategory chiamato per visualizzare la categoria Unicode di ogni carattere in una stringa.For example, the following example calls the GetUnicodeCategory to display the Unicode category of each character in a string.

using System;
using System.Globalization;

class Example
{
   public static void Main()
   {
      // Define a string with a variety of character categories.
      String s = "The red car drove down the long, narrow, secluded road.";
      // Determine the category of each character.
      foreach (var ch in s)
         Console.WriteLine("'{0}': {1}", ch, Char.GetUnicodeCategory(ch)); 
   }
}
// The example displays the following output:
//      'T': UppercaseLetter
//      'h': LowercaseLetter
//      'e': LowercaseLetter
//      ' ': SpaceSeparator
//      'r': LowercaseLetter
//      'e': LowercaseLetter
//      'd': LowercaseLetter
//      ' ': SpaceSeparator
//      'c': LowercaseLetter
//      'a': LowercaseLetter
//      'r': LowercaseLetter
//      ' ': SpaceSeparator
//      'd': LowercaseLetter
//      'r': LowercaseLetter
//      'o': LowercaseLetter
//      'v': LowercaseLetter
//      'e': LowercaseLetter
//      ' ': SpaceSeparator
//      'd': LowercaseLetter
//      'o': LowercaseLetter
//      'w': LowercaseLetter
//      'n': LowercaseLetter
//      ' ': SpaceSeparator
//      't': LowercaseLetter
//      'h': LowercaseLetter
//      'e': LowercaseLetter
//      ' ': SpaceSeparator
//      'l': LowercaseLetter
//      'o': LowercaseLetter
//      'n': LowercaseLetter
//      'g': LowercaseLetter
//      ',': OtherPunctuation
//      ' ': SpaceSeparator
//      'n': LowercaseLetter
//      'a': LowercaseLetter
//      'r': LowercaseLetter
//      'r': LowercaseLetter
//      'o': LowercaseLetter
//      'w': LowercaseLetter
//      ',': OtherPunctuation
//      ' ': SpaceSeparator
//      's': LowercaseLetter
//      'e': LowercaseLetter
//      'c': LowercaseLetter
//      'l': LowercaseLetter
//      'u': LowercaseLetter
//      'd': LowercaseLetter
//      'e': LowercaseLetter
//      'd': LowercaseLetter
//      ' ': SpaceSeparator
//      'r': LowercaseLetter
//      'o': LowercaseLetter
//      'a': LowercaseLetter
//      'd': LowercaseLetter
//      '.': OtherPunctuation
Imports System.Globalization

Module Example
   Public Sub Main()
      ' Define a string with a variety of character categories.
      Dim s As String = "The car drove down the narrow, secluded road."
      ' Determine the category of each character.
      For Each ch In s
         Console.WriteLine("'{0}': {1}", ch, Char.GetUnicodeCategory(ch)) 
      Next
   End Sub
End Module
' The example displays the following output:
'       'T': UppercaseLetter
'       'h': LowercaseLetter
'       'e': LowercaseLetter
'       ' ': SpaceSeparator
'       'r': LowercaseLetter
'       'e': LowercaseLetter
'       'd': LowercaseLetter
'       ' ': SpaceSeparator
'       'c': LowercaseLetter
'       'a': LowercaseLetter
'       'r': LowercaseLetter
'       ' ': SpaceSeparator
'       'd': LowercaseLetter
'       'r': LowercaseLetter
'       'o': LowercaseLetter
'       'v': LowercaseLetter
'       'e': LowercaseLetter
'       ' ': SpaceSeparator
'       'd': LowercaseLetter
'       'o': LowercaseLetter
'       'w': LowercaseLetter
'       'n': LowercaseLetter
'       ' ': SpaceSeparator
'       't': LowercaseLetter
'       'h': LowercaseLetter
'       'e': LowercaseLetter
'       ' ': SpaceSeparator
'       'l': LowercaseLetter
'       'o': LowercaseLetter
'       'n': LowercaseLetter
'       'g': LowercaseLetter
'       ',': OtherPunctuation
'       ' ': SpaceSeparator
'       'n': LowercaseLetter
'       'a': LowercaseLetter
'       'r': LowercaseLetter
'       'r': LowercaseLetter
'       'o': LowercaseLetter
'       'w': LowercaseLetter
'       ',': OtherPunctuation
'       ' ': SpaceSeparator
'       's': LowercaseLetter
'       'e': LowercaseLetter
'       'c': LowercaseLetter
'       'l': LowercaseLetter
'       'u': LowercaseLetter
'       'd': LowercaseLetter
'       'e': LowercaseLetter
'       'd': LowercaseLetter
'       ' ': SpaceSeparator
'       'r': LowercaseLetter
'       'o': LowercaseLetter
'       'a': LowercaseLetter
'       'd': LowercaseLetter
'       '.': OtherPunctuation

Internamente, per i caratteri non compresi nell'intervallo ASCII (da u + 0000 a u + GetUnicodeCategory 00FF), il metodo dipende dalle categorie Unicode CharUnicodeInfo segnalate dalla classe.Internally, for characters outside the ASCII range (U+0000 through U+00FF), the GetUnicodeCategory method depends on Unicode categories reported by the CharUnicodeInfo class. A partire da .NET Framework 4.6.2.NET Framework 4.6.2, i caratteri Unicode sono classificati in base allo standard Unicode, versione 8.0.0.Starting with the .NET Framework 4.6.2.NET Framework 4.6.2, Unicode characters are classified based on The Unicode Standard, Version 8.0.0. Nelle versioni del .NET Framework da .NET Framework 4.NET Framework 4 .NET Framework 4.6.1.NET Framework 4.6.1a, vengono classificate in base allo standard Unicode, versione 6.3.0.In versions of the .NET Framework from the .NET Framework 4.NET Framework 4 to the .NET Framework 4.6.1.NET Framework 4.6.1, they are classified based on The Unicode Standard, Version 6.3.0.

Caratteri ed elementi di testoCharacters and text elements

Poiché un singolo carattere può essere rappresentato da più Char oggetti, non è sempre significativo lavorare con singoli Char oggetti.Because a single character can be represented by multiple Char objects, it is not always meaningful to work with individual Char objects. Nell'esempio seguente, ad esempio, vengono convertiti i punti di codice Unicode che rappresentano i numeri Egeo da zero a 9 a unità di codice codificate UTF-16.For instance, the following example converts the Unicode code points that represent the Aegean numbers zero through 9 to UTF-16 encoded code units. Poiché equivale Char erroneamente a oggetti con caratteri, segnala in modo non accurato che la stringa risultante contiene 20 caratteri.Because it erroneously equates Char objects with characters, it inaccurately reports that the resulting string has 20 characters.

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.
Module Example
   Public Sub Main()
      Dim result As String = String.Empty
      For ctr As Integer = &h10107 To &h10110     ' Range of Aegean numbers.
         result += Char.ConvertFromUtf32(ctr)
      Next         
      Console.WriteLine("The string contains {0} characters.", result.Length) 
   End Sub
End Module
' The example displays the following output:
'     The string contains 20 characters.

Per evitare il presupposto che un Char oggetto rappresenti un singolo carattere, è possibile eseguire le operazioni seguenti.You can do the following to avoid the assumption that a Char object represents a single character.

  • È possibile utilizzare un String oggetto nel suo complesso anziché utilizzare i singoli caratteri per rappresentare e analizzare il contenuto linguistico.You can work with a String object in its entirety instead of working with its individual characters to represent and analyze linguistic content.

  • È possibile utilizzare la StringInfo classe per lavorare con elementi di testo anziché singoli Char oggetti.You can use the StringInfo class to work with text elements instead of individual Char objects. Nell'esempio seguente viene usato StringInfo l'oggetto per contare il numero di elementi di testo in una stringa costituita da numeri Egeo da zero a nove.The following example uses the StringInfo object to count the number of text elements in a string that consists of the Aegean numbers zero through nine. Poiché considera una coppia di surrogati un singolo carattere, segnala correttamente che la stringa contiene dieci caratteri.Because it considers a surrogate pair a single character, it correctly reports that the string contains ten characters.

    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.
    
    Imports System.Globalization
    
    Module Example
       Public Sub Main()
          Dim result As String = String.Empty
          For ctr As Integer = &h10107 To &h10110     ' Range of Aegean numbers.
             result += Char.ConvertFromUtf32(ctr)
          Next         
          Dim si As New StringInfo(result)
          Console.WriteLine("The string contains {0} characters.", si.LengthInTextElements) 
       End Sub
    End Module
    ' The example displays the following output:
    '       The string contains 10 characters.
    
  • Se una stringa contiene un carattere di base con uno o più caratteri combinati, è possibile chiamare String.Normalize il metodo per convertire la sottostringa in una singola unità di codice con codifica UTF-16.If a string contains a base character that has one or more combining characters, you can call the String.Normalize method to convert the substring to a single UTF-16 encoded code unit. Nell'esempio seguente viene chiamato String.Normalize il metodo per convertire il carattere di base u + 0061 (alfabeto latino minuscolo a) e il carattere di combinazione u + 0308 (combinando dieresi) con u + 00E4 (Latina piccola lettera a con dieresi).The following example calls the String.Normalize method to convert the base character U+0061 (LATIN SMALL LETTER A) and combining character U+0308 (COMBINING DIAERESIS) to U+00E4 (LATIN SMALL LETTER A WITH DIAERESIS).

    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)
    
    Module Example
       Public Sub Main()
          Dim combining As String = ChrW(&h0061) + ChrW(&h0308)
          ShowString(combining)
          
          Dim normalized As String = combining.Normalize()
          ShowString(normalized)
       End Sub
       
       Private Sub ShowString(s As String)
          Console.Write("Length of string: {0} (", s.Length)
          For ctr As Integer = 0 To s.Length - 1
             Console.Write("U+{0:X4}", Convert.ToUInt16(s(ctr)))
             If ctr <> s.Length - 1 Then Console.Write(" ")
          Next 
          Console.WriteLine(")")
          Console.WriteLine()
       End Sub
    End Module
    ' The example displays the following output:
    '       Length of string: 2 (U+0061 U+0308)
    '       
    '       Length of string: 1 (U+00E4)
    

Operazioni comuniCommon operations

La Char struttura fornisce metodi per confrontare Char oggetti, convertire il valore dell'oggetto corrente Char in un oggetto di un altro tipo e determinare la categoria Unicode di un Char oggetto:The Char structure provides methods to compare Char objects, convert the value of the current Char object to an object of another type, and determine the Unicode category of a Char object:

Operazione da eseguireTo do this Usare questi System.Char metodiUse these System.Char methods
Confrontare Char oggettiCompare Char objects CompareTo e EqualsCompareTo and Equals
Converte un punto di codice in una stringaConvert a code point to a string ConvertFromUtf32
Converte un Char oggetto o una coppia di surrogati di Char oggetti in un punto di codiceConvert a Char object or a surrogate pair of Char objects to a code point Per un singolo carattere:Convert.ToInt32(Char)For a single character: Convert.ToInt32(Char)

Per una coppia di surrogati o un carattere in una stringa:Char.ConvertToUtf32For a surrogate pair or a character in a string: Char.ConvertToUtf32
Ottenere la categoria Unicode di un carattereGet the Unicode category of a character GetUnicodeCategory
Determinare se un carattere si trova in una particolare categoria Unicode, ad esempio cifre, lettere, punteggiatura, carattere di controllo e così via.Determine whether a character is in a particular Unicode category such as digit, letter, punctuation, control character, and so on IsControl, IsDigit, IsHighSurrogate, ,IsLetter ,IsLower, ,IsSeparator,,, ,IsSurrogatePair,, eIsUpper IsLowSurrogate IsPunctuation IsNumber IsLetterOrDigit IsSurrogate IsSymbolIsWhiteSpaceIsControl, IsDigit, IsHighSurrogate, IsLetter, IsLetterOrDigit, IsLower, IsLowSurrogate, IsNumber, IsPunctuation, IsSeparator, IsSurrogate, IsSurrogatePair, IsSymbol, IsUpper, and IsWhiteSpace
Converte un Char oggetto che rappresenta un numero in un tipo di valore numericoConvert a Char object that represents a number to a numeric value type GetNumericValue
Converte un carattere in una stringa in un Char oggettoConvert a character in a string into a Char object Parse e TryParseParse and TryParse
Convertire un Char oggetto in un String oggettoConvert a Char object to a String object ToString
Modificare il caso di un Char oggettoChange the case of a Char object ToLower, ToLowerInvariant, ToUpper e ToUpperInvariantToLower, ToLowerInvariant, ToUpper, and ToUpperInvariant

Valori Char e interoperabilitàChar values and interop

Quando un tipo Char gestito, rappresentato come unità di codice con codifica UTF-16 Unicode, viene passato a codice non gestito, il gestore di marshalling di interoperabilità converte il set di caratteri in ANSI per impostazione predefinita.When a managed Char type, which is represented as a Unicode UTF-16 encoded code unit, is passed to unmanaged code, the interop marshaler converts the character set to ANSI by default. È possibile applicare l' DllImportAttribute attributo alle dichiarazioni platform invoke e all'attributo StructLayoutAttribute a una dichiarazione di interoperabilità COM per controllare il set di Char caratteri utilizzato da un tipo di marshalling.You can apply the DllImportAttribute attribute to platform invoke declarations and the StructLayoutAttribute attribute to a COM interop declaration to control which character set a marshaled Char type uses.

Campi

MaxValue MaxValue MaxValue MaxValue

Rappresenta il valore massimo possibile di Char.Represents the largest possible value of a Char. Questo campo è costante.This field is constant.

MinValue MinValue MinValue MinValue

Rappresenta il valore minimo possibile di un oggetto Char.Represents the smallest possible value of a Char. Questo campo è costante.This field is constant.

Metodi

CompareTo(Char) CompareTo(Char) CompareTo(Char) CompareTo(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.Compares this instance to a specified Char object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified Char object.

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(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.Compares this instance to a specified object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified Object.

ConvertFromUtf32(Int32) ConvertFromUtf32(Int32) ConvertFromUtf32(Int32) ConvertFromUtf32(Int32)

Converte il punto di codice Unicode specificato in una stringa codificata UTF-16.Converts the specified Unicode code point into a UTF-16 encoded string.

ConvertToUtf32(Char, Char) ConvertToUtf32(Char, Char) ConvertToUtf32(Char, Char) ConvertToUtf32(Char, Char)

Converte il valore di una coppia di surrogati codificata UTF-16 in un punto di codice Unicode.Converts the value of a UTF-16 encoded surrogate pair into a Unicode code point.

ConvertToUtf32(String, Int32) ConvertToUtf32(String, Int32) ConvertToUtf32(String, Int32) ConvertToUtf32(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.Converts the value of a UTF-16 encoded character or surrogate pair at a specified position in a string into a Unicode code point.

Equals(Char) Equals(Char) Equals(Char) Equals(Char)

Restituisce un valore che indica se questa istanza è uguale all'oggetto Char specificato.Returns a value that indicates whether this instance is equal to the specified Char object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

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

Converte il carattere numerico Unicode nella posizione specificata di una determinata stringa in un numero a virgola mobile a precisione doppia.Converts the numeric Unicode character at the specified position in a specified string to a double-precision floating point number.

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

Converte il carattere numerico Unicode specificato in un numero a virgola mobile a precisione doppia.Converts the specified numeric Unicode character to a double-precision floating point number.

GetTypeCode() GetTypeCode() GetTypeCode() GetTypeCode()

Restituisce l'oggetto TypeCode del tipo di valore Char.Returns the TypeCode for value type Char.

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

Categorizza un carattere Unicode specificato in un gruppo identificato da uno dei valori UnicodeCategory.Categorizes a specified Unicode character into a group identified by one of the UnicodeCategory values.

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

Categorizza il carattere in corrispondenza della posizione specificata in una determinata stringa in un gruppo identificato da uno dei valori UnicodeCategory.Categorizes the character at the specified position in a specified string into a group identified by one of the UnicodeCategory values.

IsControl(Char) IsControl(Char) IsControl(Char) IsControl(Char)

Indica se il carattere Unicode specificato è stato categorizzato come carattere di controllo.Indicates whether the specified Unicode character is categorized as a control character.

IsControl(String, Int32) IsControl(String, Int32) IsControl(String, Int32) IsControl(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come carattere di controllo.Indicates whether the character at the specified position in a specified string is categorized as a control character.

IsDigit(Char) IsDigit(Char) IsDigit(Char) IsDigit(Char)

Indica se il carattere Unicode specificato è stato categorizzato come cifra decimale.Indicates whether the specified Unicode character is categorized as a decimal digit.

IsDigit(String, Int32) IsDigit(String, Int32) IsDigit(String, Int32) IsDigit(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come cifra decimale.Indicates whether the character at the specified position in a specified string is categorized as a decimal digit.

IsHighSurrogate(String, Int32) IsHighSurrogate(String, Int32) IsHighSurrogate(String, Int32) IsHighSurrogate(String, Int32)

Indica se l'oggetto Char in corrispondenza della posizione specificata all'interno di una stringa è un surrogato alto.Indicates whether the Char object at the specified position in a string is a high surrogate.

IsHighSurrogate(Char) IsHighSurrogate(Char) IsHighSurrogate(Char) IsHighSurrogate(Char)

Indica se l'oggetto Char specificato è un surrogato alto.Indicates whether the specified Char object is a high surrogate.

IsLetter(Char) IsLetter(Char) IsLetter(Char) IsLetter(Char)

Indica se il carattere Unicode specificato è stato categorizzato come lettera Unicode.Indicates whether the specified Unicode character is categorized as a Unicode letter.

IsLetter(String, Int32) IsLetter(String, Int32) IsLetter(String, Int32) IsLetter(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come lettera Unicode.Indicates whether the character at the specified position in a specified string is categorized as a Unicode letter.

IsLetterOrDigit(Char) IsLetterOrDigit(Char) IsLetterOrDigit(Char) IsLetterOrDigit(Char)

Indica se il carattere Unicode specificato è stato categorizzato come lettera o cifra decimale.Indicates whether the specified Unicode character is categorized as a letter or a decimal digit.

IsLetterOrDigit(String, Int32) IsLetterOrDigit(String, Int32) IsLetterOrDigit(String, Int32) IsLetterOrDigit(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come lettera o cifra decimale.Indicates whether the character at the specified position in a specified string is categorized as a letter or a decimal digit.

IsLower(Char) IsLower(Char) IsLower(Char) IsLower(Char)

Indica se il carattere Unicode specificato è stato categorizzato come lettera minuscola.Indicates whether the specified Unicode character is categorized as a lowercase letter.

IsLower(String, Int32) IsLower(String, Int32) IsLower(String, Int32) IsLower(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come lettera minuscola.Indicates whether the character at the specified position in a specified string is categorized as a lowercase letter.

IsLowSurrogate(Char) IsLowSurrogate(Char) IsLowSurrogate(Char) IsLowSurrogate(Char)

Indica se l'oggetto Char specificato è un surrogato basso.Indicates whether the specified Char object is a low surrogate.

IsLowSurrogate(String, Int32) IsLowSurrogate(String, Int32) IsLowSurrogate(String, Int32) IsLowSurrogate(String, Int32)

Indica se l'oggetto Char in corrispondenza della posizione specificata all'interno di una stringa è un surrogato basso.Indicates whether the Char object at the specified position in a string is a low surrogate.

IsNumber(Char) IsNumber(Char) IsNumber(Char) IsNumber(Char)

Indica se il carattere Unicode specificato è stato categorizzato come numero.Indicates whether the specified Unicode character is categorized as a number.

IsNumber(String, Int32) IsNumber(String, Int32) IsNumber(String, Int32) IsNumber(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come numero.Indicates whether the character at the specified position in a specified string is categorized as a number.

IsPunctuation(Char) IsPunctuation(Char) IsPunctuation(Char) IsPunctuation(Char)

Indica se il carattere Unicode specificato è stato categorizzato come segno di punteggiatura.Indicates whether the specified Unicode character is categorized as a punctuation mark.

IsPunctuation(String, Int32) IsPunctuation(String, Int32) IsPunctuation(String, Int32) IsPunctuation(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come segno di punteggiatura.Indicates whether the character at the specified position in a specified string is categorized as a punctuation mark.

IsSeparator(Char) IsSeparator(Char) IsSeparator(Char) IsSeparator(Char)

Indica se il carattere Unicode specificato è stato categorizzato come carattere separatore.Indicates whether the specified Unicode character is categorized as a separator character.

IsSeparator(String, Int32) IsSeparator(String, Int32) IsSeparator(String, Int32) IsSeparator(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come carattere separatore.Indicates whether the character at the specified position in a specified string is categorized as a separator character.

IsSurrogate(Char) IsSurrogate(Char) IsSurrogate(Char) IsSurrogate(Char)

Indica se il carattere specificato dispone di un'unità di codice surrogato.Indicates whether the specified character has a surrogate code unit.

IsSurrogate(String, Int32) IsSurrogate(String, Int32) IsSurrogate(String, Int32) IsSurrogate(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa dispone di un'unità di codice surrogato.Indicates whether the character at the specified position in a specified string has a surrogate code unit.

IsSurrogatePair(String, Int32) IsSurrogatePair(String, Int32) IsSurrogatePair(String, Int32) IsSurrogatePair(String, Int32)

Indica se due oggetti Char adiacenti in corrispondenza di una posizione specificata all'interno di una stringa formano una coppia di surrogati.Indicates whether two adjacent Char objects at a specified position in a string form a surrogate pair.

IsSurrogatePair(Char, Char) IsSurrogatePair(Char, Char) IsSurrogatePair(Char, Char) IsSurrogatePair(Char, Char)

Indica se i due oggetti Char specificati formano una coppia di surrogati.Indicates whether the two specified Char objects form a surrogate pair.

IsSymbol(Char) IsSymbol(Char) IsSymbol(Char) IsSymbol(Char)

Indica se il carattere Unicode specificato è stato categorizzato come carattere simbolo.Indicates whether the specified Unicode character is categorized as a symbol character.

IsSymbol(String, Int32) IsSymbol(String, Int32) IsSymbol(String, Int32) IsSymbol(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come carattere simbolo.Indicates whether the character at the specified position in a specified string is categorized as a symbol character.

IsUpper(Char) IsUpper(Char) IsUpper(Char) IsUpper(Char)

Indica se il carattere Unicode specificato è stato categorizzato come lettera maiuscola.Indicates whether the specified Unicode character is categorized as an uppercase letter.

IsUpper(String, Int32) IsUpper(String, Int32) IsUpper(String, Int32) IsUpper(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come lettera maiuscola.Indicates whether the character at the specified position in a specified string is categorized as an uppercase letter.

IsWhiteSpace(Char) IsWhiteSpace(Char) IsWhiteSpace(Char) IsWhiteSpace(Char)

Indica se il carattere Unicode specificato è stato categorizzato come spazio.Indicates whether the specified Unicode character is categorized as white space.

IsWhiteSpace(String, Int32) IsWhiteSpace(String, Int32) IsWhiteSpace(String, Int32) IsWhiteSpace(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come spazio.Indicates whether the character at the specified position in a specified string is categorized as white space.

Parse(String) Parse(String) Parse(String) Parse(String)

Converte il valore della stringa specificata nell'equivalente carattere Unicode.Converts the value of the specified string to its equivalent Unicode character.

ToLower(Char, CultureInfo) ToLower(Char, CultureInfo) ToLower(Char, CultureInfo) ToLower(Char, CultureInfo)

Converte il valore di uno specifico carattere Unicode nell'equivalente carattere minuscolo mediante le informazioni di formattazione relative alle impostazioni cultura specificate.Converts the value of a specified Unicode character to its lowercase equivalent using specified culture-specific formatting information.

ToLower(Char) ToLower(Char) ToLower(Char) ToLower(Char)

Converte il valore di un carattere Unicode nell'equivalente carattere minuscolo.Converts the value of a Unicode character to its lowercase equivalent.

ToLowerInvariant(Char) ToLowerInvariant(Char) ToLowerInvariant(Char) ToLowerInvariant(Char)

Converte il valore di un carattere Unicode nell'equivalente carattere minuscolo mediante le regole relative all'utilizzo di maiuscole e minuscole delle impostazioni cultura invarianti.Converts the value of a Unicode character to its lowercase equivalent using the casing rules of the invariant culture.

ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider)

Converte il valore dell'istanza corrente nella rappresentazione di stringa equivalente, usando le informazioni sul formato relative alle impostazioni cultura specificate.Converts the value of this instance to its equivalent string representation using the specified culture-specific format information.

ToString(Char) ToString(Char) ToString(Char) ToString(Char)

Converte il carattere Unicode specificato nell'equivalente rappresentazione di stringa.Converts the specified Unicode character to its equivalent string representation.

ToString() ToString() ToString() ToString()

Converte il valore dell'istanza corrente nell'equivalente rappresentazione di stringa.Converts the value of this instance to its equivalent string representation.

ToUpper(Char, CultureInfo) ToUpper(Char, CultureInfo) ToUpper(Char, CultureInfo) ToUpper(Char, CultureInfo)

Converte il valore di uno specifico carattere Unicode nell'equivalente carattere maiuscolo mediante le informazioni di formattazione relative alle impostazioni cultura specificate.Converts the value of a specified Unicode character to its uppercase equivalent using specified culture-specific formatting information.

ToUpper(Char) ToUpper(Char) ToUpper(Char) ToUpper(Char)

Converte il valore di un carattere Unicode nell'equivalente carattere maiuscolo.Converts the value of a Unicode character to its uppercase equivalent.

ToUpperInvariant(Char) ToUpperInvariant(Char) ToUpperInvariant(Char) ToUpperInvariant(Char)

Converte il valore di un carattere Unicode nell'equivalente carattere maiuscolo mediante le regole relative all'utilizzo di maiuscole e minuscole delle impostazioni cultura invarianti.Converts the value of a Unicode character to its uppercase equivalent using the casing rules of the invariant culture.

TryParse(String, Char) TryParse(String, Char) TryParse(String, Char) TryParse(String, Char)

Converte il valore della stringa specificata nell'equivalente carattere Unicode.Converts the value of the specified string to its equivalent Unicode character. Un codice restituito indica se la conversione ha avuto esito positivo o negativo.A return code indicates whether the conversion succeeded or failed.

Implementazioni dell'interfaccia esplicita

IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object)
IConvertible.GetTypeCode() IConvertible.GetTypeCode() IConvertible.GetTypeCode() IConvertible.GetTypeCode()
IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider)

Nota Questa conversione non è supportata.Note This conversion is not supported. Qualsiasi tentativo di eseguire tale operazione genera un'eccezione InvalidCastException.Attempting to do so throws an InvalidCastException.

IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider)

Per una descrizione di questo membro, vedere ToByte(IFormatProvider).For a description of this member, see ToByte(IFormatProvider).

IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider)

Per una descrizione di questo membro, vedere ToChar(IFormatProvider).For a description of this member, see ToChar(IFormatProvider).

IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider)

Nota Questa conversione non è supportata.Note This conversion is not supported. Qualsiasi tentativo di eseguire tale operazione genera un'eccezione InvalidCastException.Attempting to do so throws an InvalidCastException.

IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider)

Nota Questa conversione non è supportata.Note This conversion is not supported. Qualsiasi tentativo di eseguire tale operazione genera un'eccezione InvalidCastException.Attempting to do so throws an InvalidCastException.

IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider)

Nota Questa conversione non è supportata.Note This conversion is not supported. Qualsiasi tentativo di eseguire tale operazione genera un'eccezione InvalidCastException.Attempting to do so throws an InvalidCastException.

IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider)

Per una descrizione di questo membro, vedere ToInt16(IFormatProvider).For a description of this member, see ToInt16(IFormatProvider).

IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider)

Per una descrizione di questo membro, vedere ToInt32(IFormatProvider).For a description of this member, see ToInt32(IFormatProvider).

IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider)

Per una descrizione di questo membro, vedere ToInt64(IFormatProvider).For a description of this member, see ToInt64(IFormatProvider).

IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider)

Per una descrizione di questo membro, vedere ToSByte(IFormatProvider).For a description of this member, see ToSByte(IFormatProvider).

IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider)

Nota Questa conversione non è supportata.Note This conversion is not supported. Qualsiasi tentativo di eseguire tale operazione genera un'eccezione InvalidCastException.Attempting to do so throws an InvalidCastException.

IConvertible.ToString(IFormatProvider) IConvertible.ToString(IFormatProvider) IConvertible.ToString(IFormatProvider) IConvertible.ToString(IFormatProvider)
IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider)

Per una descrizione di questo membro, vedere ToType(Type, IFormatProvider).For a description of this member, see ToType(Type, IFormatProvider).

IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider)

Per una descrizione di questo membro, vedere ToUInt16(IFormatProvider).For a description of this member, see ToUInt16(IFormatProvider).

IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider)

Per una descrizione di questo membro, vedere ToUInt32(IFormatProvider).For a description of this member, see ToUInt32(IFormatProvider).

IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider)

Per una descrizione di questo membro, vedere ToUInt64(IFormatProvider).For a description of this member, see ToUInt64(IFormatProvider).

Si applica a

Thread safety

Tutti i membri di questo tipo sono thread-safe.All members of this type are thread safe. I membri che sembrano modificare lo stato dell'istanza restituiscono effettivamente una nuova istanza inizializzata con il nuovo valore.Members that appear to modify instance state actually return a new instance initialized with the new value. Come per qualsiasi altro tipo, la lettura e la scrittura in una variabile condivisa che contiene un'istanza di questo tipo devono essere protette da un blocco per garantire thread safety.As with any other type, reading and writing to a shared variable that contains an instance of this type must be protected by a lock to guarantee thread safety.

Vedi anche