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));
,但这也行不通。
有什么建议吗?
答案 0 :(得分:21)
Enum.GetValues(typeof(VehicleData))
.Cast<int>()
.Select(x => x.ToString())
.ToArray();
答案 1 :(得分:12)
Enum.GetNames怎么样?
string[] cars = System.Enum.GetNames( typeof( VehicleData ) );
试一试;)
答案 2 :(得分:7)
Enum.GetValues
会为您提供一个包含Enum
所有已定义值的数组。要将它们转换为数字字符串,您需要转换为int
,然后转换为ToString()
类似的东西:
var vals = Enum.GetValues(typeof(VehicleData))
.Cast<int>()
.Select(x => x.ToString())
.ToArray();
答案 3 :(得分:3)
我在这里找到了这个 - How do I convert an enum to a list in C#?,修改为制作数组。
Enum.GetValues(typeof(VehicleData))
.Cast<int>()
.Select(v => v.ToString())
.ToArray();