Enum.GetNames Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
GetNames(Type) |
Возвращает массив имен констант в указанном перечислении. |
GetNames<TEnum>() |
Возвращает массив имен констант в указанном типе перечисления. |
GetNames(Type)
- Исходный код:
- 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
Тип перечисления.
Возвращаемое значение
Строковый массив имен констант в enumType
.
- Атрибуты
Исключения
enumType
имеет значение null
.
Параметр enumType
— не Enum.
.NET 8 и более поздних версий: enumType
является логическим типом перечисления.
Примеры
В следующем примере показано использование метода GetNames.
using namespace System;
enum class Colors
{
Red, Green, Blue, Yellow
};
enum class Styles
{
Plaid, Striped, Tartan, Corduroy
};
int main()
{
Console::WriteLine( "The members of the Colors enum are:" );
Array^ a = Enum::GetNames( Colors::typeid );
Int32 i = 0;
do
{
Object^ o = a->GetValue( i );
Console::WriteLine( o->ToString() );
}
while ( ++i < a->Length );
Console::WriteLine();
Console::WriteLine( "The members of the Styles enum are:" );
Array^ b = Enum::GetNames( Styles::typeid );
i = 0;
do
{
Object^ o = b->GetValue( i );
Console::WriteLine( o->ToString() );
}
while ( ++i < b->Length );
}
// 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
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
Возвращает массив имен констант в указанном типе перечисления.
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
Тип перечисления.
Возвращаемое значение
Строковый массив имен констант в TEnum
.
Исключения
.NET 8 и более поздних версий: TEnum
является логическим типом перечисления.