眾所周知,C#Dictionary中的keys 是不允許重復的。以前在程序中使用了Dictionary,結果今天客戶要求keys 可以重復。所以為了簡單只好找個可重復的Dictionary-->SortedList:SortedList 對象包含用鍵/值對表示的項目。SortedList 對象可按照字符順序或數字順序自動地對項目進行排序。根據SortedList 對象排序的特性課巧妙的讓它的key是可重復。代碼如下: public class MySort : IComparer { public int Compare(object x, object y) { return -1; } } SortedList mySortedList = new SortedList(new MySort()); mySortedList.Add(333, 333); mySortedList.Add(111, 111); mySortedList.Add(222, 222); mySortedList.Add(111, 112); //遍歷SortedList方法(1) for (int i = 0; i < mySortedList.Count; i++) { System.Console.WriteLine(mySortedList.GetKey(i)); System.Console.WriteLine(mySortedList.GetByIndex(i)); } System.Console.WriteLine("\n"); //遍歷SortedList方法(2) foreach (DictionaryEntry de in mySortedList) { System.Console.WriteLine(de.Key); System.Console.WriteLine(de.Value); }