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

10

假设我有一个C#中的enum,它被称为MyEnum:

public enum MyEnum
{
    Apple,
    Banana,
    Carrot,
    Donut
}

And I have a List<MyEnum> such as:

List<MyEnum> myList = new List<MyEnum>();
myList.Add(MyEnum.Apple);
myList.Add(MyEnum.Carrot);

什么是将我的List<MyEnum>转换为List<string>最简单方法?我是否需要创建一个新的List<string>,然后逐个迭代枚举列表,将每个枚举转换为字符串并添加到我的新List<string>中?

3
var myNewList = myList.Select(t => t.ToString()).ToList(); - Blorgbeard
这个做法很有效。谢谢! - BlueTriangles
2个回答

12

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

List<string> stringList = myList.ConvertAll(f => f.ToString());

有其他的方法可以达到这个目的,但是这种方法可以完成任务并且使用的语法应该在你所使用的任何版本的.NET中都存在,因为它已经存在很长时间了。


0
var list= (from action in (MyEnum[]) Enum.GetValues(typeof(MyEnum)) select action.ToString()).ToList();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接