C# - 将枚举值列表转换为字符串列表

Blu*_*les 2 c# enums

假设我有一个enum名为 MyEnum的 C# :

public enum MyEnum
{
    Apple,
    Banana,
    Carrot,
    Donut
}
Run Code Online (Sandbox Code Playgroud)

我有一个List<MyEnum>这样的:

List<MyEnum> myList = new List<MyEnum>();
myList.Add(MyEnum.Apple);
myList.Add(MyEnum.Carrot);
Run Code Online (Sandbox Code Playgroud)

将 my 转换为 a的最简单方法List<MyEnum>List<string>什么?我是否必须创建一个新的List<string>然后遍历枚举列表,一次一个项目,将每个枚举转换为一个字符串并将其添加到我的 new 中List<string>

Kyl*_*rns 7

由于您使用的是 a List,最简单的解决方案是使用该ConvertAll方法来获取新的List包含string表示。下面是一个例子:

List<string> stringList = myList.ConvertAll(f => f.ToString());
Run Code Online (Sandbox Code Playgroud)

还有其他方法可以实现这一点,但这种方法可以完成工作并使用您正在使用的任何版本的 .NET 中的语法,因为它已经存在很长时间了。