将枚举值转换为字符串数组
本文关键字:字符串 数组 转换 枚举 | 更新日期: 2023-09-27 18:16:25
public enum VehicleData
{
Dodge = 15001,
BMW = 15002,
Toyota = 15003
}
我想在字符串数组中得到以上值15001,15002,15003,如下所示:
string[] arr = { "15001", "15002", "15003" };
我尝试了下面的命令,但它给了我一个名称数组,而不是值。
string[] aaa = (string[]) Enum.GetNames(typeof(VehicleData));
我也试过string[] aaa = (string[]) Enum.GetValues(typeof(VehicleData));
,但那也不起作用。
有什么建议吗?
enumt . getnames呢?
string[] cars = System.Enum.GetNames( typeof( VehicleData ) );
试一试;)
使用GetValues
Enum.GetValues(typeof(VehicleData))
.Cast<int>()
.Select(x => x.ToString())
.ToArray();
现场演示
Enum.GetValues
将为您提供一个包含Enum
的所有定义值的数组。要将它们转换为数字字符串,您需要将它们转换为int
,然后转换为ToString()
类似:
var vals = Enum.GetValues(typeof(VehicleData))
.Cast<int>()
.Select(x => x.ToString())
.ToArray();
演示
我在这里找到了这个-如何在c#中将枚举转换为列表?,修改为array.
Enum.GetValues(typeof(VehicleData))
.Cast<int>()
.Select(v => v.ToString())
.ToArray();