突然想到之前碰到的一个优化的面试题,现在想想switch用的太傻
1 public enum FormatType 2 { 3 GetKey, 4 GetValue 5 } 6 public class Format 7 { 8 private static string Get(Dictionary<string, string> dict, FormatType formatType, string code) 9 { 10 if (formatType == FormatType.GetKey) 11 return dict.FirstOrDefault(d => d.Value == code).Key; 12 else 13 return dict.FirstOrDefault(d => d.Key == code).Value; 14 } 15 public static string GetNation(FormatType formatType, string code) 16 { 17 Dictionary<string, string> dict = new Dictionary<string, string>{ 18 {"01","汉族"}, 19 {"02","藏族"}, 20 {"03","壮族"}, 21 {"04","朝鲜族"} 22 //这里省略其它...... 23 }; 24 return Get(dict, formatType, code); 25 } 26 } View Code使用:获取"汉族"的编码string key = Format.GetNation(FormatType.GetKey, "汉族");获取"01"代表的民族string value = Format.GetNation(FormatType.GetValue, "01");
--------------------------------------------------------------------------------------------
有的用委托有的用反射,这个讲的挺详细
转载于:https://www.cnblogs.com/ZkbFighting/p/9175473.html
