Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Char structure

 

Date de publication : août 2016

Représente un caractère sous forme d'une unité de code UTF-16.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

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

NomDescription
System_CAPS_pubmethodCompareTo(Char)

Compare cette instance à un objet Char spécifié et indique si cette instance précède, suit ou apparaît à la même position dans l'ordre de tri que l'objet Char spécifié.

System_CAPS_pubmethodCompareTo(Object)

Compare cette instance à un objet spécifié et indique si cette instance précède, suit ou apparaît à la même position dans l'ordre de tri que le Object spécifié.

System_CAPS_pubmethodSystem_CAPS_staticConvertFromUtf32(Int32)

Convertit le point de code Unicode spécifié en une chaîne encodée UTF-16.

System_CAPS_pubmethodSystem_CAPS_staticConvertToUtf32(Char, Char)

Convertit la valeur d'une paire de substitution encodée UTF-16 en point de code Unicode.

System_CAPS_pubmethodSystem_CAPS_staticConvertToUtf32(String, Int32)

Convertit la valeur d'une paire de substitution ou d'un caractère encodé UTF-16 à un emplacement précis d'une chaîne en un point de code Unicode.

System_CAPS_pubmethodEquals(Char)

Retourne une valeur qui indique si cette instance équivaut à l'objet Char spécifié.

System_CAPS_pubmethodEquals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.(Remplace ValueType.Equals(Object).)

System_CAPS_pubmethodGetHashCode()

Retourne le code de hachage de cette instance.(Remplace ValueType.GetHashCode().)

System_CAPS_pubmethodSystem_CAPS_staticGetNumericValue(Char)

Convertit le caractère Unicode numérique spécifié en un nombre à virgule flottante double précision.

System_CAPS_pubmethodSystem_CAPS_staticGetNumericValue(String, Int32)

Convertit le caractère Unicode numérique à la position spécifiée dans une chaîne spécifiée en un nombre à virgule flottante double précision.

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodGetTypeCode()

Retourne le TypeCode du type valeur Char.

System_CAPS_pubmethodSystem_CAPS_staticGetUnicodeCategory(Char)

Classe un caractère Unicode spécifié dans un groupe identifié par l'une des valeurs UnicodeCategory.

System_CAPS_pubmethodSystem_CAPS_staticGetUnicodeCategory(String, Int32)

Classe le caractère figurant à la position spécifiée dans une chaîne spécifiée dans un groupe identifié par l'une des valeurs UnicodeCategory.

System_CAPS_pubmethodSystem_CAPS_staticIsControl(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des caractères de contrôle.

System_CAPS_pubmethodSystem_CAPS_staticIsControl(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des caractères de contrôle.

System_CAPS_pubmethodSystem_CAPS_staticIsDigit(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des chiffres décimaux.

System_CAPS_pubmethodSystem_CAPS_staticIsDigit(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des chiffres décimaux.

System_CAPS_pubmethodSystem_CAPS_staticIsHighSurrogate(Char)

Indique si l'objet Char spécifié est un caractère de substitution étendu.

System_CAPS_pubmethodSystem_CAPS_staticIsHighSurrogate(String, Int32)

Indique si l'objet Char à la position spécifiée dans une chaîne est un caractère de substitution étendu.

System_CAPS_pubmethodSystem_CAPS_staticIsLetter(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des lettres Unicode.

System_CAPS_pubmethodSystem_CAPS_staticIsLetter(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des lettres Unicode.

System_CAPS_pubmethodSystem_CAPS_staticIsLetterOrDigit(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des lettres ou des chiffres décimaux.

System_CAPS_pubmethodSystem_CAPS_staticIsLetterOrDigit(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des lettres ou des chiffres décimaux.

System_CAPS_pubmethodSystem_CAPS_staticIsLower(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des lettres minuscules.

System_CAPS_pubmethodSystem_CAPS_staticIsLower(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des minuscules.

System_CAPS_pubmethodSystem_CAPS_staticIsLowSurrogate(Char)

Indique si l'objet Char spécifié est un caractère de substitution faible.

System_CAPS_pubmethodSystem_CAPS_staticIsLowSurrogate(String, Int32)

Indique si l'objet Char à la position spécifiée dans une chaîne est un caractère de substitution faible.

System_CAPS_pubmethodSystem_CAPS_staticIsNumber(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des nombres.

System_CAPS_pubmethodSystem_CAPS_staticIsNumber(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des nombres.

System_CAPS_pubmethodSystem_CAPS_staticIsPunctuation(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des signes de ponctuation.

System_CAPS_pubmethodSystem_CAPS_staticIsPunctuation(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des signes de ponctuation.

System_CAPS_pubmethodSystem_CAPS_staticIsSeparator(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des caractères de séparation.

System_CAPS_pubmethodSystem_CAPS_staticIsSeparator(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des caractères de séparation.

System_CAPS_pubmethodSystem_CAPS_staticIsSurrogate(Char)

Indique si le caractère spécifié possède une unité de code de substitution.

System_CAPS_pubmethodSystem_CAPS_staticIsSurrogate(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée possède une unité de code de substitution.

System_CAPS_pubmethodSystem_CAPS_staticIsSurrogatePair(Char, Char)

Indique si les deux objets Char spécifiés forment une paire de substitution.

System_CAPS_pubmethodSystem_CAPS_staticIsSurrogatePair(String, Int32)

Indique si deux objets Char adjacents à une position spécifiée dans une chaîne forment une paire de substitution.

System_CAPS_pubmethodSystem_CAPS_staticIsSymbol(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des symboles.

System_CAPS_pubmethodSystem_CAPS_staticIsSymbol(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des symboles.

System_CAPS_pubmethodSystem_CAPS_staticIsUpper(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des lettres majuscules.

System_CAPS_pubmethodSystem_CAPS_staticIsUpper(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des majuscules.

System_CAPS_pubmethodSystem_CAPS_staticIsWhiteSpace(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des espaces blancs.

System_CAPS_pubmethodSystem_CAPS_staticIsWhiteSpace(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des espaces blancs.

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

Convertit la valeur de la chaîne spécifiée en caractère Unicode équivalent.

System_CAPS_pubmethodSystem_CAPS_staticToLower(Char)

Convertit la valeur d'un caractère Unicode en son équivalent en minuscules.

System_CAPS_pubmethodSystem_CAPS_staticToLower(Char, CultureInfo)

Convertit la valeur d'un caractère Unicode spécifié en son équivalent en minuscules à l'aide des informations de mise en forme spécifiques à la culture.

System_CAPS_pubmethodSystem_CAPS_staticToLowerInvariant(Char)

Convertit la valeur d'un caractère Unicode en son équivalent minuscule à l'aide des règles de casse de la culture dite indifférente.

System_CAPS_pubmethodToString()

Convertit la valeur de cette instance en sa représentation sous forme de chaîne équivalente.(Remplace ValueType.ToString().)

System_CAPS_pubmethodSystem_CAPS_staticToString(Char)

Convertit le caractère Unicode spécifié en sa représentation sous forme de chaîne équivalente.

System_CAPS_pubmethodToString(IFormatProvider)

Convertit la valeur de cette instance en représentation sous forme de chaîne équivalente à l'aide des informations de format propres à la culture spécifiées.

System_CAPS_pubmethodSystem_CAPS_staticToUpper(Char)

Convertit la valeur d'un caractère Unicode en son équivalent en majuscule.

System_CAPS_pubmethodSystem_CAPS_staticToUpper(Char, CultureInfo)

Convertit la valeur d'un caractère Unicode spécifié en son équivalent en majuscule à l'aide des informations de mise en forme spécifiques à la culture.

System_CAPS_pubmethodSystem_CAPS_staticToUpperInvariant(Char)

Convertit la valeur d'un caractère Unicode en son équivalent en majuscule à l'aide des règles de casse de la culture dite indifférente.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, Char)

Convertit la valeur de la chaîne spécifiée en caractère Unicode équivalent. Un code de retour indique si la conversion a réussi ou a échoué.

NomDescription
System_CAPS_pubfieldSystem_CAPS_staticMaxValue

Représente la plus grande valeur possible de Char. Ce champ est constant.

System_CAPS_pubfieldSystem_CAPS_staticMinValue

Représente la plus petite valeur possible de Char. Ce champ est constant.

NomDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToBoolean(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Remarque Cette conversion n'est pas prise en charge. Toute tentative de ce type lève InvalidCastException.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToByte(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Pour obtenir une description de ce membre, consultez IConvertible.ToByte.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToChar(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Pour obtenir une description de ce membre, consultez IConvertible.ToChar.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDateTime(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Remarque Cette conversion n'est pas prise en charge. Toute tentative de ce type lève InvalidCastException.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDecimal(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Remarque Cette conversion n'est pas prise en charge. Toute tentative de ce type lève InvalidCastException.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDouble(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Remarque Cette conversion n'est pas prise en charge. Toute tentative de ce type lève InvalidCastException.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt16(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Pour obtenir une description de ce membre, consultez IConvertible.ToInt16.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt32(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Pour obtenir une description de ce membre, consultez IConvertible.ToInt32.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt64(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Pour obtenir une description de ce membre, consultez IConvertible.ToInt64.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSByte(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Pour obtenir une description de ce membre, consultez IConvertible.ToSByte.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSingle(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Remarque Cette conversion n'est pas prise en charge. Toute tentative de ce type lève InvalidCastException.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToType(Type, IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Pour obtenir une description de ce membre, consultez IConvertible.ToType.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt16(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Pour obtenir une description de ce membre, consultez IConvertible.ToUInt16.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt32(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Pour obtenir une description de ce membre, consultez IConvertible.ToUInt32.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt64(IFormatProvider)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Pour obtenir une description de ce membre, consultez IConvertible.ToUInt64.

Le .NET Framework utilise le Char structure pour représenter un caractère Unicode. La norme Unicode identifie chaque caractère Unicode avec un nombre scalaire unique de 21 bits appelé point de code et définit le format de codage UTF-16 qui spécifie comment un point de code est encodé dans une séquence d’une ou plusieurs valeurs 16 bits. Chaque valeur de 16 bits comprise entre 0 x 0000 hexadécimal et 0xFFFF et est stocké dans un Char structure. La valeur d’un Char objet est sa valeur numérique de 16 bits (ordinal).

Les sections suivantes étudient la relation entre un Char objet et un caractère et de discuter de certaines tâches courantes effectuées avec Char instances.

Objets Char, caractères Unicode et chaînes
Caractères et les catégories de caractères
Caractères et les éléments de texte
Opérations courantes
Les valeurs char et l’interopérabilité

A String objet est une collection séquentielle de Char des structures qui représente une chaîne de texte. La plupart des caractères Unicode peuvent être représentés par un seul Char de l’objet, mais un caractère qui est encodé comme caractère de base, paire de substitution et/ou la combinaison de séquence de caractères est représenté par plusieurs Char objets. Pour cette raison, un Char structure dans un String objet n’est pas nécessairement équivalent à un caractère Unicode.

Plusieurs unités de code 16 bits sont utilisées pour représenter les caractères Unicode uniques dans les cas suivants :

  • Glyphes, ce qui peuvent se composer d’un caractère unique ou un caractère de base suivi par un ou plusieurs caractères d’association. Par exemple, le caractère « ä » est représenté par un Char objet dont le code de l’unité est U + 0061, suivi par un Char objet dont unité de code est U + 0308. (Le caractère ä peut également être défini par un seul Char objet qui possède une unité de code de U + 00E4.) L’exemple suivant montre que le caractère ä se compose de deux Char objets.

    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:
    //       ä
    
  • Caractères en dehors de l’Unicode Basic Multilingual Plane (BMP). Unicode prend en charge les plans de seize en plus du BMP, qui représente le plan de 0. Un point de code Unicode est représenté en UTF-32 en une valeur de 21 bits qui inclut le plan. Par exemple, U + 1D160 représente le caractère de NOTE de symbole musique. Étant donné que l’encodage UTF-16 comporte uniquement 16 bits, les caractères extérieurs au BMP sont représentées par les paires de substitution UTF-16. L’exemple suivant montre que l’équivalent UTF-32 de U + 1D160, le caractère de NOTE de symbole musique, est U + D834 U + DD60. U + D834 est le substitut étendu ; les substituts étendus varient entre U + D800 et U + DBFF. U + DD60 est le substitut faible ; substituts faibles plage comprise entre U + DC00 et 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
    

Chaque caractère Unicode ou une paire de substitution valide appartient à une catégorie Unicode. Dans le .NET Framework, les catégories Unicode sont représentés par les membres de la UnicodeCategory énumération et inclure des valeurs telles que UnicodeCategory.CurrencySymbol, UnicodeCategory.LowercaseLetter, et UnicodeCategory.SpaceSeparator, par exemple.

Pour déterminer la catégorie Unicode d’un caractère, vous appelez le GetUnicodeCategory (méthode). Par exemple, l’exemple suivant appelle la GetUnicodeCategory pour afficher la catégorie Unicode de chaque caractère dans une chaîne.

using System;
using System.Globalization;

class Example
{
   public static void Main()
   {
      // Define a string with a variety of character categories.
      String s = "The car drove down the 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

En interne, les caractères en dehors de la plage ASCII (U + 0000 à U + 00FF), le GetUnicodeCategory méthode varie selon les catégories Unicode signalés par le CharUnicodeInfo classe. En commençant par le .NET Framework 4.6.2, les caractères Unicode sont classés en fonction de The Unix Standard, Version 8.0.0. Dans les versions du .NET Framework à partir de la .NET Framework 4 à la .NET Framework 4.6.1, ils sont classés en fonction de The Unix Standard, Version 6.3.0.

Un caractère unique pouvant être représentés par plusieurs Char des objets, il n’est pas toujours explicite pour travailler avec une personne Char objets. Par exemple, l’exemple suivant convertit les points de code Unicode qui représentent les numéros mineures de zéro à 9 pour les unités de code encodée en UTF-16. Car il équivaut tort Char objets avec des caractères, il signale incorrectement que la chaîne obtenue comporte 20 caractères.

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.

Vous pouvez procédez comme suit pour éviter l’hypothèse qu’un Char objet représente un caractère unique.

  • Vous pouvez travailler avec un String objet dans son intégralité, au lieu de travailler avec ses caractères individuels pour représenter et analyser le contenu linguistique.

  • Vous pouvez utiliser la StringInfo classe fonctionne avec les éléments de texte au lieu de la personne Char objets. L’exemple suivant utilise le StringInfo objet pour compter le nombre d’éléments de texte dans une chaîne qui se compose de l’Égée chiffres zéro à neuf. Car il considère une paire de substitution comme un caractère unique, il signale correctement que la chaîne contient dix caractères.

    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.
    
  • Si une chaîne contient un caractère de base qui a un ou plusieurs caractères d’association, vous pouvez appeler la String.Normalize méthode pour convertir la sous-chaîne à une seule unité de code encodée UTF-16. L’exemple suivant appelle la String.Normalize méthode pour convertir le caractère U + 0061 (LETTRE MINUSCULE LATINE A) de la base et les caractères d’association U + 0308 (combinant le tréma) à U + 00E4 (LATIN petite lettre de A avec tréma).

    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)
    

Le Char structure fournit des méthodes permettant de comparer Char objets, convertir la valeur de la Char à un objet d’un autre type d’objet et déterminer la catégorie Unicode d’un Char objet :

Pour

Utilisez ces System.Char méthodes

Comparer Char objets

CompareTo et Equals

Convertir un point de code en une chaîne

ConvertFromUtf32

Convertir un Char objet ou une paire de substitution de Char objets à un point de code

Pour un seul caractère :Convert.ToInt32(Char)

Pour une paire de substitution ou d’un caractère dans une chaîne :Char.ConvertToUtf32

Obtenir la catégorie Unicode d’un caractère

GetUnicodeCategory

Déterminer si un caractère est dans une catégorie Unicode particulière tels que des chiffres, lettres, signes de ponctuation, les caractères de contrôle, etc.

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

Convertir un Char objet qui représente un nombre en un type de valeur numérique.

GetNumericValue

Convertir un caractère d’une chaîne en un Char objet

Parse et TryParse

Convertir un Char de l’objet à un String objet

ToString

Modifier la casse d’un Char objet

ToLower, ToLowerInvariant, ToUpper et ToUpperInvariant

Lorsque managé Char type, qui est représentée comme une unité de code encodé en Unicode UTF-8, est passé au code non managé, le marshaleur d’interopérabilité convertit le jeu de caractères à ANSI. Vous pouvez appliquer la DllImportAttribute déclarations d’appel de l’attribut à la plate-forme et le StructLayoutAttribute d’attribut à une déclaration COM interop pour contrôler le jeu de caractères un marshalé Char tapez utilise.

L’exemple de code suivant illustre certaines méthodes dans 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"
	}
}

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1

Tous les membres de ce type sont thread-safe. Les membres qui semblent modifier l’état de l’instance retournent en fait une nouvelle instance initialisée avec la nouvelle valeur. Comme avec tout autre type, la lecture et en écriture à une variable partagée qui contient une instance de ce type doivent être protégées par un verrou pour garantir la sécurité des threads.

Retour au début
Afficher: