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

IFormattable.ToString méthode (String, IFormatProvider)

 

Date de publication : novembre 2016

Met en forme la valeur de l’instance actuelle en utilisant le format spécifié.

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

string ToString(
	string format,
	IFormatProvider formatProvider
)

Paramètres

format
Type: System.String

Format à utiliser.

ou

Référence null (Nothing en Visual Basic) pour utiliser le format par défaut défini pour le type de l’implémentation IFormattable.

formatProvider
Type: System.IFormatProvider

Fournisseur à utiliser pour mettre en forme la valeur.

ou

Référence null (Nothing en Visual Basic) pour obtenir les informations de format numérique dans les paramètres régionaux actuels du système d’exploitation.

Valeur de retour

Type: System.String

Valeur de l’instance actuelle dans le format spécifié.

Le ToString méthode convertit une valeur en une représentation sous forme de chaîne qui peut être exprimée de plusieurs façons. Son format précis dépend de symboles spécifiques ou d’un ordre spécifié défini par des cultures spécifiques, professions ou secteurs d’activité. Vous pouvez appeler la méthode directement. Il est également appelé automatiquement par le Convert.ToString(Object) et Convert.ToString(Object, IFormatProvider) méthodes et par les méthodes qui utilisent la mise en forme composite dans le .NET Framework, tel que String.Format(String, Object[]), Console.WriteLine(String, Object[]), et StringBuilder.AppendFormat(String, Object[]). (Pour plus d'informations, consultez Mise en forme composite.)

Appel de méthodes de mise en forme composite du ToString méthode une fois pour chaque élément de format dans une chaîne de format. Les paramètres passés à la méthode dépendent de la méthode de mise en forme spécifique qui est appelée et du contenu de l’élément de format, comme suit :

  • Si l’élément de format ne contient pas une chaîne de format (par exemple, si l’élément de format est simplement {0}), il est passé null comme valeur de le System.String paramètre.

  • Si l’élément de format contient une chaîne de format (par exemple, {0:G}), que la chaîne de format est passée en tant que la valeur de le System.String paramètre.

  • Si l’appel de méthode d’origine n’inclut pas un System.IFormatProvider paramètre, CultureInfo.CurrentCulture est passé en tant que la valeur de le System.IFormatProvider paramètre.

  • Si l’appel de méthode d’origine inclut un System.IFormatProvider paramètre, le fournisseur qui est fourni dans l’appel de méthode est passé en tant que la valeur de le System.IFormatProvider paramètre.

System_CAPS_noteRemarque

D’un objet ToString implémentation est appelée par les méthodes de mise en forme composite uniquement si elles ne sont pas transmis un ICustomFormatter fournisseur de format, ou si le Format méthode du fournisseur de format personnalisé retourne null.

Le .NET Framework inclut trois fournisseurs de format, qui implémentent la IFormatProvider interface :

  • NumberFormatInfofournit les numérique mise en forme d’informations, telles que les caractères à utiliser pour décimale et séparateurs de groupes et l’orthographe et l’emplacement des symboles monétaires dans les valeurs monétaires.

  • DateTimeFormatInfoFournit des informations liées à la date et l’heure mise en forme, telles que la position du mois, le jour et l’année dans un modèle de date.

  • CultureInfocontient la valeur par défaut de mise en forme des informations dans une culture spécifique, y compris les informations de format numérique, ainsi que les informations de mise en forme liées à la date et heure.

En outre, vous pouvez définir votre propre fournisseur de format personnalisé.

Remarques à l’attention des implémenteurs :

Le ToString méthode doit prendre en charge le spécificateur de format (général) « G ». Outre le spécificateur « G », la classe peut définir la liste des spécificateurs de format pris en charge. En outre, la classe doit être préparée à gérer un spécificateur de format est null. Pour plus d’informations sur la mise en forme et les codes de mise en forme, consultez Mise en forme des types dans .NET Framework.

L’exemple suivant montre un Temperature classe qui implémente le ToString (méthode). Cet exemple de code fait partie d’un exemple plus complet fourni pour la IFormattable classe.

using System;
using System.Globalization;

public class Temperature : IFormattable
{
   private decimal temp;

   public Temperature(decimal temperature)
   {
      if (temperature < -273.15m) 
        throw new ArgumentOutOfRangeException(String.Format("{0} is less than absolute zero.", 
                                              temperature));
      this.temp = temperature;
   }

   public decimal Celsius
   {
      get { return temp; }
   }

   public decimal Fahrenheit
   {
      get { return temp * 9 / 5 + 32; }
   }

   public decimal Kelvin
   {
      get { return temp + 273.15m; }
   }

   public override string ToString()
   {
      return this.ToString("G", CultureInfo.CurrentCulture);
   }

   public string ToString(string format)
   {
      return this.ToString(format, CultureInfo.CurrentCulture);
   }

   public string ToString(string format, IFormatProvider provider) 
   {
      if (String.IsNullOrEmpty(format)) format = "G";
      if (provider == null) provider = CultureInfo.CurrentCulture;

      switch (format.ToUpperInvariant())
      {
         case "G":
         case "C":
            return temp.ToString("F2", provider) + " °C"; 
         case "F":
            return Fahrenheit.ToString("F2", provider) + " °F";
         case "K":
            return Kelvin.ToString("F2", provider) + " K";
         default:
            throw new FormatException(String.Format("The {0} format string is not supported.", format));
      }
   }
}

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
Retour au début
Afficher: