Convert.ToString Method (Object)

Converts the value of the specified Object to its String representation.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public static string ToString(
	Object value


Type: System.Object
An Object or null.

Return Value

Type: System.String
The String representation of the value of value, or String.Empty if value is null.

To convert value to its string representation, the method tries to call the IConvertible.ToString implementation of value. If value does not implement the IConvertible interface, the method tries to call the IFormattable.ToString implementation of value. If value does not implement the IFormattable interface, the method calls the ToString method of the underlying type of value.

The following code example converts a non-numeric Object and a boxed numeric value to String s with the ToString method, using default formatting.

// Example of Convert.ToString( non-numeric types, IFormatProvider ).
using System;
using System.Globalization;

// An instance of this class can be passed to methods that require 
// an IFormatProvider.
public class DummyProvider : IFormatProvider
   // Normally, GetFormat returns an object of the requested type
   // (usually itself) if it is able; otherwise, it returns Nothing. 
   public object GetFormat(Type argType)
      // Here, the type of argType is displayed, and GetFormat
      // always returns Nothing.
      outputBlock.Text += String.Format("{0,-40}", argType.ToString());
      return null;

class Example
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
      // Create an instance of the IFormatProvider.
      DummyProvider provider = new DummyProvider();
      string converted;

      // Convert these values using DummyProvider.
      int Int32A = -252645135;
      double DoubleA = 61680.3855;
      object ObjDouble = (object)(-98765.4321);
      DateTime DayTimeA = new DateTime(2001, 9, 11, 13, 45, 0);

      bool BoolA = true;
      string StringA = "Qwerty";
      char CharA = '$';
      TimeSpan TSpanA = new TimeSpan(0, 18, 0);
      object ObjOther = (object)provider;

      outputBlock.Text += "This example of " +
          "Convert.ToString( non-numeric, IFormatProvider ) \n" +
          "generates the following output. The provider type, " +
          "argument type, \nand argument value are displayed." + "\n";
      outputBlock.Text += "\nNote: The IFormatProvider object is " +
          "not called for Boolean, String, \nChar, TimeSpan, " +
          "and non-numeric Object." + "\n";

      // The format provider is called for these conversions.
      outputBlock.Text += "\n";
      converted = Convert.ToString(Int32A, provider);
      outputBlock.Text += String.Format("int      {0}", converted) + "\n";
      converted = Convert.ToString(DoubleA, provider);
      outputBlock.Text += String.Format("double   {0}", converted) + "\n";
      converted = Convert.ToString(ObjDouble, provider);
      outputBlock.Text += String.Format("object   {0}", converted) + "\n";
      converted = Convert.ToString(DayTimeA, provider);
      outputBlock.Text += String.Format("DateTime {0}", converted) + "\n";

      // The format provider is not called for these conversions.
      outputBlock.Text += "\n";
      converted = Convert.ToString(BoolA, provider);
      outputBlock.Text += String.Format("bool     {0}", converted) + "\n";
      converted = Convert.ToString(StringA, provider);
      outputBlock.Text += String.Format("string   {0}", converted) + "\n";
      converted = Convert.ToString(CharA, provider);
      outputBlock.Text += String.Format("char     {0}", converted) + "\n";
      converted = Convert.ToString(TSpanA, provider);
      outputBlock.Text += String.Format("TimeSpan {0}", converted) + "\n";
      converted = Convert.ToString(ObjOther, provider);
      outputBlock.Text += String.Format("object   {0}", converted) + "\n";

This example of Convert.ToString( non-numeric, IFormatProvider )
generates the following output. The provider type, argument type,
and argument value are displayed.

Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.

System.Globalization.NumberFormatInfo   int      -252645135
System.Globalization.NumberFormatInfo   double   61680.3855
System.Globalization.NumberFormatInfo   object   -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM

bool     True
string   Qwerty
char     $
TimeSpan 00:18:00
object   DummyProvider



Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.