有序字典

  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         }

 

posted @ 2014-10-22 12:40  wonkju  阅读(184)  评论(0编辑  收藏  举报