switch语句一般可以用if重写,但是if语句不一定能用switch重写
public enum StausType { /// <summary> /// 友情链接 /// </summary> linkInfo = 1 } public static string GetStausType(StausType status) { string s = ""; switch (status) { case StausType.linkInfo: s = "友情链接"; break; default: s = "异常"; break; } return s; }
1,只能对离散的值进行判断,在case处只能写常量(C#会把字符串当常量处理),所以switch()括号中的控制可以是string类型的
2,必须在case后边加break或者goto,不然会编译不通过
3,case标签必须是唯一性的表达式,也就是说,不允许两个case值相同
4,必须使用break跳出
5,default就是如果没有符合的case就执行它,default并不是必须的