switch case ,是复杂度很高的结构。
我发现很多人喜欢用switch的。
其实switch有很多时候,可以用数组来替代。
比如把 今天转换为的星期来表达,如周二,周三等。可以用数组的方法。
private static string ChinaWeekDay(DayOfWeek DayOfWeek)
{
return string.Format("周{0}", "日,一,二,三,四,五,六".Split(',')[(int)DayOfWeek]);
}
数组本身作为一种基本的数据结构,本身就蕴含着分支在内,因此分支有时候可以转换为数组操作——尤其是在各个分支仅仅操作一个,或者一组相同数据的时候——从而让代码变得简洁。
作为对比,也可以看看switch的等价代码:
private static string ChinaWeekDay(DayOfWeek DayOfWeek)
{
switch (DayOfWeek)
{
case DayOfWeek.Sunday:
return "周日";
break;
case DayOfWeek.Monday:
return "周一";
break;
case DayOfWeek.Tuesday:
return "周二";
break;
case DayOfWeek.Wednesday:
return "周三";
break;
case DayOfWeek.Thursday:
return "周四";
break;
case DayOfWeek.Friday:
return "周五";
break;
case DayOfWeek.Saturday:
return "周六";
break;
}
return "";
}
后者的代码很多,但是看起来“整齐而雄壮”,看到这样的代码,我感觉如同检阅一队德国兵,他们整齐的对我致敬:”嘿,希特勒“。
是不是这样原因,让很多人喜欢用它呢?
不妨和你的代码做个新的见面
1. 查询switch,看看有多少
2. 逐次检视每个switch,看看是否就是操作或者返回同一个,或者同一组变量
3. 是否有更好的方法,比如数组方式?
补充:
format = "2010年3月5日 周?"
何必呢?一个数组搞定
要善用数据结构。
很多时候,数据结构可以更好的起到分支和循环的作用,并且更加好阅读。
分享到:
相关推荐
希特勒激情演讲.pdf
希特勒画评语.docx
希特勒动员演讲稿.docx
罗斯福丘吉尔希特勒的故事.pdf
关于希特勒的名言警句大全.pdf
初中语文文摘历史刘文岛酒斗希特勒
初中语文文摘历史我眼中的希特勒
罗斯福、丘吉尔、希特勒的故事.pdf
曼施坦因为什么不造反希特勒.pdf
希特勒性格分析报告促成了诺曼底登陆.pdf
初中语文文摘社会希特勒和他的犹太同学
初中语文文摘历史苏军巧计“忽悠”希特勒
管理学之父打败希特勒的启示 管理资料.doc
PPT模板-一张希特勒的小学毕业照。.docx
希特勒的讲演术是怎样练成的图.doc
《于希特勒入侵苏联的广播演说》教学设计.docx
《关于希特勒入侵苏联的广播演说》学习要点及能力训练检测1实用.pdf