Enum.GetNames 方法

定義

多載

名稱 Description
GetNames(Type)

擷取指定列舉中常數名稱的陣列。

GetNames<TEnum>()

擷取指定列舉型別中常數名稱的陣列。

GetNames(Type)

來源:
Enum.cs
來源:
Enum.cs
來源:
Enum.cs
來源:
Enum.cs
來源:
Enum.cs

擷取指定列舉中常數名稱的陣列。

public:
 static cli::array <System::String ^> ^ GetNames(Type ^ enumType);
public static string[] GetNames(Type enumType);
[System.Runtime.InteropServices.ComVisible(true)]
public static string[] GetNames(Type enumType);
static member GetNames : Type -> string[]
[<System.Runtime.InteropServices.ComVisible(true)>]
static member GetNames : Type -> string[]
Public Shared Function GetNames (enumType As Type) As String()

參數

enumType
Type

一種列舉類型。

傳回

String[]

一個由 中 enumType常數名稱組成的字串陣列。

屬性

例外狀況

enumTypenull

enumType 參數不是 Enum

.NET 8 及以後版本:enumType 是一種布林背列舉類型。

範例

以下範例說明此 GetNames 方法的使用。

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
open System

type Colors =
    | Red = 0
    | Green = 1
    | Blue = 2
    | Yellow = 3

type Styles =
    | Plaid = 0
    | Striped = 1
    | Tartan = 2
    | Corduroy = 3

printfn "The members of the Colors enum are:"
for s in Enum.GetNames typeof<Colors> do
    printfn $"{s}"

printfn "\nThe members of the Styles enum are:"
for s in Enum.GetNames typeof<Styles> do
    printfn $"{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
Public Class GetNamesTest
    Enum Colors
        Red
        Green
        Blue
        Yellow
    End Enum 
    
    Enum Styles
        Plaid
        Striped
        Tartan
        Corduroy
    End Enum
    
    Public Shared Sub Main()
        
        Console.WriteLine("The members of the Colors enum are:")
        For Each s In [Enum].GetNames(GetType(Colors))
            Console.WriteLine(s)
        Next

        Console.WriteLine()
        
        Console.WriteLine("The members of the Styles enum are:")
        For Each s In [Enum].GetNames(GetType(Styles))
            Console.WriteLine(s)
        Next
    End Sub
End Class
' 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

備註

返回值陣列的元素依列舉常數的二進位值排序(即其無號大小)。 以下範例展示了方法回傳 GetNames 的陣列資訊,列舉包含負值、零值與正值。

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
open System

type SignMagnitude =
   | Negative = -1
   | Zero = 0
   | Positive = 1

for name in Enum.GetNames typeof<SignMagnitude> do
    let p = Enum.Parse(typeof<SignMagnitude>, name)
    printfn $"{p,3:D}     0x{p:X}     {name}"

// The example displays the following output:
//         0     0x00000000     Zero
//         1     0x00000001     Positive
//        -1     0xFFFFFFFF     Negative
Public Enum SignMagnitude As Integer
   Negative = -1 
   Zero = 0
   Positive = 1
End Enum
   
Module Example
   Public Sub Main()
      Dim names() As String = [Enum].GetNames(GetType(SignMagnitude))
      For Each name In names
         Console.WriteLine("{0,3:D}     0x{0:X}     {1}", 
                           [Enum].Parse(GetType(SignMagnitude), name), 
                           name)
      Next
   End Sub
End Module
' The example displays the following output:
'      0     0x00000000     Zero
'      1     0x00000001     Positive
'     -1     0xFFFFFFFF     Negative

若存在相同值的枚舉常數,其對應名稱的順序則未明確說明。

適用於

GetNames<TEnum>()

來源:
Enum.cs
來源:
Enum.cs
來源:
Enum.cs
來源:
Enum.cs
來源:
Enum.cs

擷取指定列舉型別中常數名稱的陣列。

public:
generic <typename TEnum>
 where TEnum : value class static cli::array <System::String ^> ^ GetNames();
public static string[] GetNames<TEnum>() where TEnum : struct;
static member GetNames : unit -> string[] (requires 'Enum : struct)
Public Shared Function GetNames(Of TEnum As Structure) () As String()

類型參數

TEnum

枚舉的類型。

傳回

String[]

一個由 中 TEnum常數名稱組成的字串陣列。

例外狀況

.NET 8 及以後版本:TEnum 是一種布林背列舉類型。

適用於