gpt4 book ai didi

.net - 无法按已定义的顺序检索枚举成员!

转载 作者:行者123 更新时间:2023-12-04 03:54:17 25 4
gpt4 key购买 nike

我们有一个枚举,其成员具有随机值,例如

enum MyEnum
{
enumMember1 = 100,
enumMember2 = 10,
enumMember3 = 50
}

我们无法按照已定义的顺序遍历枚举成员! Enum.GetValuesEnum.GetNames都在内部对成员进行排序并给出结果!

迭代由Enum.GetNames或Enum.GetValues返回的数组,并对每个数组元素执行 .ToString()
enumMember2, enumMember3, enumMember100. 

只是想知道是否有任何开箱即用的方法来按枚举成员的创建顺序获取它们?搜索了,没有得到很多信息!谢谢!

P.S.我不希望通过自定义属性来完成此操作!
并且在起草它时,我怀疑是否在对枚举成员进行排序后是否生成了枚举的IL,将其检查掉了!

最佳答案

您可以使用反射:

var values = typeof(MyEnum).GetFields(BindingFlags.Public | BindingFlags.Static)
.Select (x => Enum.Parse(typeof(MyEnum), x.Name));

关于.net - 无法按已定义的顺序检索枚举成员!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6602184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com