Enum.ToString Method

Updated: September 2010

Converts the value of this instance to its equivalent string representation.

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

public override string ToString()

Return Value

Type: System.String
The string representation of the value of this instance.

The return value is formatted with the general format specifier ("G"). That is, if the FlagsAttribute is not applied to this enumerated type and there is a named constant equal to the value of this instance, then the return value is a string containing the name of the constant. If the FlagsAttribute is applied and there is a combination of one or more named constants equal to the value of this instance, then the return value is a string containing a delimiter-separated list of the names of the constants. Otherwise, the return value is the string representation of the numeric value of this instance. For more information about formatting enumeration values, see Enumeration Format Strings. For more information about formatting in general, see Formatting Types.

Notes to Callers

If multiple enumeration members have the same underlying value and you attempt to retrieve the string representation of an enumeration member's name based on its underlying value, your code should not make any assumptions about which name the method will return. For example, the following enumeration defines two members, Shade.Gray and Shade.Grey, that have the same underlying value.

enum Shade
   White = 0, Gray = 1, Grey = 1, Black = 2

The following method call attempts to retrieve the name of a member of the Shade enumeration whose underlying value is 1. The method can return either "Gray" or "Grey", and your code should not make any assumptions about which string will be returned.

string shadeName = ((Shade)1).ToString();

The following example demonstrates converting an enumerated value to a string.

using System;

public class Example
   enum Colors { Red = 1, Blue = 2 };

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
      Enum myColors = Colors.Red;
      outputBlock.Text += String.Format("The value of this instance is '{0}'",
         myColors.ToString()) + "\n";
The value of this instance is 'Red'.


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.




September 2010

Added cross-references to the Remarks section.

Customer feedback.

August 2009

Added the Notes for Callers section.

Customer feedback.

Community Additions