开发做久了,难免会遇到有一个switch的case判断中有多个常量的时候,这时我们就想到了一个类型枚举,首先我们来看下枚举如何定义:
public enum ColorType{
GREEN,
RED,
ORANGE,
WHITE,
BLACK
}
如上述代码,很easy我们就创建好了。
接下开始考察你的眼力了哦,请看下面一段代码:
private void TestEnum(ColorType type){
switch (type){
case ColorType.GREEN:
break;
case ColorType.RED:
break;
case ColorType.ORANGE:
break;
case ColorType.WHITE:
break;
case ColorType.BLACK:
break;
default:
}
}
上述代码对吗?一眼看去挺对的呀,很遗憾 ,你被骗了,会报一个错误:
an enum switch case label must be the unqualified name of an enumeration constant
意思是: 枚举 switchcase 标签必须为枚举常量的非限定名称
什么意思呢?
意思就是case语句中只能写枚举类定义的变量名称,不能加类名。正常代码如下:
private void TestEnum(ColorType type){
switch (type){
case GREEN:
break;
case RED:
break;
case ORANGE:
break;
case WHITE:
break;
case BLACK:
break;
default:
}
}
说到这里怎么样,长见识了吧,嘿嘿,好记性不如烂笔头,mark一下,提醒各位童鞋啦。