c# - 确定枚举值的算法是如何工作的?
问题描述
在 C# 中确定 Enum 值的算法是如何工作的?
主要代码:
void Main()
{
Numbers number;
number = Numbers.Four;
Console.WriteLine((int) number);
Console.WriteLine(number);
Console.WriteLine(Numbers.Four);
}
示例 1
enum Numbers {
One,
Two,
Three,
Four = 1,
Five,
Six
}
将四的值设置为 1
执行结果是:
1 四 四
如果你反编译,你可以看到以下内容:
private enum Numbers
{
One = 0,
Two = 1,
Three = 2,
Four = 1,
Five = 2,
Six = 3
}
示例 2
enum Numbers {
One,
Two,
Three,
Four = 2,
Five,
Six
}
将四的值设置为 2
执行结果是:
2 三 三
如果你反编译,你可以看到以下内容:
private enum Numbers
{
One = 0,
Two = 1,
Three = 2,
Four = 2,
Five = 3,
Six = 4
}
为什么第一个例子选择了最后一个匹配值,而第二个例子选择了第一个匹配值?
解决方案
推荐阅读
- python - 如何在python中仅读取存储在大csv文件中的一部分数据
- scala - 在 spark RDD 中正常打印数据而没有数组数组
- neo4j - 按 Neo4J 密码中的顺序按列表过滤
- c# - 如何正确扩展 SignInManager?
- eclipse - Eclipse - 查找和替换对话框总是最大化打开
- javascript - 我可以从外部修改自调用的 javascript 函数属性吗
- dataset - 斯坦福汽车数据集注释丢失
- javascript - 如何在summernote中呈现html?
- makefile - Petalinux中多个C文件执行错误
- linux - 在 /var/log/messages 中,什么是:观看系统按钮 [...] 电源按钮