Edit

Share via


Enum.GetNames Method

Definition

Overloads

GetNames(Type)

Retrieves an array of the names of the constants in a specified enumeration.

GetNames<TEnum>()

Retrieves an array of the names of the constants in a specified enumeration type.

GetNames(Type)

Source:
Enum.cs
Source:
Enum.cs
Source:
Enum.cs

Retrieves an array of the names of the constants in a specified enumeration.

C#
public static string[] GetNames(Type enumType);
C#
[System.Runtime.InteropServices.ComVisible(true)]
public static string[] GetNames(Type enumType);

Parameters

enumType
Type

An enumeration type.

Returns

String[]

A string array of the names of the constants in enumType.

Attributes

Exceptions

enumType is null.

enumType parameter is not an Enum.

.NET 8 and later versions: enumType is a Boolean-backed enumeration type.

Examples

The following example illustrates the use of the GetNames method.

C#
using System;

public class GetNamesTest {
    enum Colors { Red, Green, Blue, Yellow };
    enum Styles { Plaid, Striped, Tartan, Corduroy };

    public static void Main() {

        Console.WriteLine("The members of the Colors enum are:");
        foreach(string s in Enum.GetNames(typeof(Colors)))
            Console.WriteLine(s);

        Console.WriteLine();

        Console.WriteLine("The members of the Styles enum are:");
        foreach(string s in Enum.GetNames(typeof(Styles)))
            Console.WriteLine(s);
    }
}
// The example displays the following output:
//       The members of the Colors enum are:
//       Red
//       Green
//       Blue
//       Yellow
//
//       The members of the Styles enum are:
//       Plaid
//       Striped
//       Tartan
//       Corduroy

Remarks

The elements of the return value array are sorted by the binary values of the enumerated constants (that is, by their unsigned magnitude). The following example provides displays information about the array returned by the GetNames method for an enumeration that includes a negative, zero, and a positive value.

C#
using System;

enum SignMagnitude { Negative = -1, Zero = 0, Positive = 1 };

public class Example
{
   public static void Main()
   {
      foreach (var name in Enum.GetNames(typeof(SignMagnitude))) {
         Console.WriteLine("{0,3:D}     0x{0:X}     {1}",
                           Enum.Parse(typeof(SignMagnitude), name),
                           name);
}   }
}
// The example displays the following output:
//         0     0x00000000     Zero
//         1     0x00000001     Positive
//        -1     0xFFFFFFFF     Negative

If there are enumerated constants with same value, the order of their corresponding names is unspecified.

Applies to

.NET 9 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

GetNames<TEnum>()

Source:
Enum.cs
Source:
Enum.cs
Source:
Enum.cs

Retrieves an array of the names of the constants in a specified enumeration type.

C#
public static string[] GetNames<TEnum>() where TEnum : struct;

Type Parameters

TEnum

The type of the enumeration.

Returns

String[]

A string array of the names of the constants in TEnum.

Exceptions

.NET 8 and later versions: TEnum is a Boolean-backed enumeration type.

Applies to

.NET 9 and other versions
Product Versions
.NET 5, 6, 7, 8, 9