C# enum 枚举类的问题

C# enum 枚举类的问题。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
enum TrafficLight
{
Green = 10,
Yellow = 15,
Red = 15,

}
class Program
{
static void Main(string[] args)
{
TrafficLight t1 = TrafficLight.Red;
Console.WriteLine((TrafficLight)15); // 输出的是第一个能匹配的值
Console.WriteLine(t1); // 输出的是第一个能匹配的值,尽管前面赋值的是 Red,但输出的还是 Yellow。
Console.Read();
}
}

输出:

1
2
Yellow
Yellow

可见,枚举类虽然不能有重复的名称,但可以有重复的值(上例中赋值了两个15)。

上面的测试可知:输出的是第一个能匹配的值,尽管前面赋值的是Red,但输出的还是 Yellow

感谢支持!