我有一些代码可以设置一个带有枚举默认值的字典:

foreach (string status in Enum.GetNames(typeof(TargetStatusType)))
{
    dict.Add((TargetStatusType)Enum.Parse(typeof(TargetStatusType), status), 0);
}

有没有更简单的方法可以执行此操作,因为它看起来有些混乱。
我希望我能做
foreach(TargetStatusType status in ?) ...

谢谢!

最佳答案

使用Enum.GetValues()

foreach (TargetStatusType type in Enum.GetValues(typeof(TargetStatusType)))


请注意,尽管仅声明GetValues()返回Array,但foreach循环会自动为您执行强制转换。另外,如果您想在不方便转换每个值的不同循环中使用它,可以将结果转换为TargetStatusType[]

关于c# - 从枚举中获取值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/914869/

10-09 01:09