首页 > 代码库 > 有序字典

有序字典

  Dictionary<TKey, TValue>是不能进行排序的,即使它的扩展方法中有Enumerable.OrderBy<TSource, TKey>方法.

  使用有序字典,可以使用 SortedList或 SortedDictionary.若没有排序,可以使用 Enumerable.OrderBy<TSource, TKey>方法.如

 1 public static SortedList<string, string> GetProperties(Type t, object obj) 2         { 3             SortedList<string, string> dic = new SortedList<string, string>(); 4             string k, v; 5             foreach (System.Reflection.PropertyInfo pInfo in t.GetProperties()) 6             { 7                 try 8                 { 9                     //this.LayoutEngine = null;10                     object[] attibutes = pInfo.GetCustomAttributes(typeof(System.ComponentModel.BrowsableAttribute), true);11                     if (attibutes.Length <= 0) continue;12                     k = pInfo.Name;13                     v = pInfo.GetValue(obj, null) + "";14                     dic.Add(k, v);15                 }16                 catch (System.Exception ex)17                 {18                     //todo:19                 }20             }21             dic.OrderBy(kv => kv.Key);22             return dic;23         }

 

有序字典