📅  最后修改于: 2023-12-03 15:13:51.500000             🧑  作者: Mango
在 C# 中,枚举类型是一种很常见的数据类型。有时我们需要将枚举类型转换成列表,以便在 UI 界面中显示。本文将介绍如何使用 C# 将枚举类型转换成列表。
首先定义一个枚举类型,比如:
enum Color
{
Red,
Green,
Blue
}
定义一个静态方法,将枚举类型转换成列表。方法代码如下:
static List<string> GetEnumList<T>()
{
List<string> enumList = new List<string>();
Type enumType = typeof(T);
if (enumType.IsEnum)
{
var enumValues = Enum.GetValues(enumType);
foreach (var value in enumValues)
{
enumList.Add(value.ToString());
}
}
return enumList;
}
上面的代码中,我们首先创建了一个空的字符串列表 enumList
。之后获取枚举类型 T
的信息,判断它是否为枚举类型。如果是,就获取该枚举类型的所有值,并将它们转换成字符串。最后将这些字符串添加到 enumList
中。
调用方法,将枚举类型转换成列表。方法代码如下:
List<string> enumList = GetEnumList<Color>();
这里我们将枚举类型 Color
作为泛型类型参数传递给 GetEnumList
方法,然后将返回的字符串列表保存在 enumList
中。
现在我们可以使用 enumList
列表了,比如在控制台输出。控制台输出代码如下:
foreach (string item in enumList)
{
Console.WriteLine(item);
}
这里我们使用 foreach
循环遍历 enumList
列表,并输出其中的每个字符串元素。
最终的示例程序代码如下:
using System;
using System.Collections.Generic;
namespace EnumToListDemo
{
enum Color
{
Red,
Green,
Blue
}
class Program
{
static List<string> GetEnumList<T>()
{
List<string> enumList = new List<string>();
Type enumType = typeof(T);
if (enumType.IsEnum)
{
var enumValues = Enum.GetValues(enumType);
foreach (var value in enumValues)
{
enumList.Add(value.ToString());
}
}
return enumList;
}
static void Main(string[] args)
{
List<string> enumList = GetEnumList<Color>();
foreach (string item in enumList)
{
Console.WriteLine(item);
}
}
}
}
本文介绍了如何使用 C# 将枚举类型转换成列表。我们首先定义了一个枚举类型和一个静态方法,然后将枚举类型作为泛型类型参数传递给该方法,并获取返回的字符串列表。最后我们演示了如何遍历该列表,并输出其中的每个字符串元素。