C# enum 枚举类的问题。
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();
}
}
输出:
Yellow
Yellow
可见,枚举类虽然不能有重复的名称,但可以有重复的值(上例中赋值了两个15)。
上面的测试可知:输出的是第一个能匹配的值,尽管前面赋值的是Red
,但输出的还是 Yellow
。