用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); }}使用: