读书人

用Dictionary轮换switch case提高维护

发布时间: 2013-11-03 15:39:14 作者: rapoo

用Dictionary替换switch case提高维护性
用switch case处理一个很长的判断,例如56个民族01代表汉族,02代表藏族,03代表壮族...,当传入数字想获取民族名称时就得写56个case,当传入民族获取背后的数字时,又得再写56个case,如下所示:

public enum FormatType{    GetKey,    GetValue}public class Format{    private static string Get(Dictionary<string, string> dict, FormatType formatType, string code)    {                   if (formatType == FormatType.GetKey)             return dict.FirstOrDefault(d => d.Value == code).Key;        else             return dict.FirstOrDefault(d => d.Key == code).Value;      }    public static string GetNation(FormatType formatType, string code)    {       Dictionary<string, string> dict = new Dictionary<string, string>{                  {"01","汉族"},                {"02","藏族"},                {"03","壮族"},                {"04","朝鲜族"}                //这里省略其它......        };       return Get(dict, formatType, code);   }}
使用:
获取"汉族"的编码
string key = Format.GetNation(FormatType.GetKey, "汉族");
获取"01"代表的民族
string value = Format.GetNation(FormatType.GetValue, "01");




读书人网 >编程

热点推荐