You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

C#:如何将枚举值列表转换为字符串列表?

把List转换为List的最简方式

嘿,完全不用手动创建新列表再逐个遍历添加!C#的LINQ提供了非常简洁的写法,一行代码就能搞定:

List<string> stringList = myList.Select(e => e.ToString()).ToList();

简单解释下这个写法:

  • Select(e => e.ToString()):通过LINQ的Select方法,遍历原列表里的每一个MyEnum元素,把每个元素调用ToString()转换成对应的字符串(也就是枚举成员的名称,比如Apple会变成"Apple")。
  • ToList():把Select返回的IEnumerable<string>转换成List<string>类型,得到你需要的结果。

当然,如果你需要更自定义的字符串转换(比如不是用枚举的默认名称),还可以用Enum.GetName(typeof(MyEnum), e)来获取名称,效果和ToString()一致,但ToString()更简洁。

要是你好奇手动遍历的写法(其实没必要用这种),大概是这样:

List<string> stringList = new List<string>();
foreach (var item in myList)
{
    stringList.Add(item.ToString());
}

但显然LINQ的写法更简洁优雅,代码可读性也更高,日常开发里优先用这种方式就好。

内容的提问来源于stack exchange,提问作者BlueTriangles

火山引擎 最新活动