我有一本字典(使用C#):如何按鍵排序字典,如果鍵是列表(在C#中)?
Dictionary<List<string>, string> dictData = new Dictionary<List<string>, string>();
在字典中已經有(例如)值:
key: {"3", "1", "45"}, value: "test value 1"
key: {"1", "2", "45"}, value: "test value 2"
key: {"11", "1", "45"}, value: "test value 3"
key: {"1", "1", "45"}, value: "test value 4"
關鍵是一個字符串列表,它會始終保持有至少兩個元素。我需要做的是按鍵對字典進行排序,或者更確切地說,按照列表的第一個元素進行排序,並作爲按列表的第二個元素排序的第二個標準。字符串實際上是一個數字,所以它們應該按數字排序(「3」應該小於「11」)。再次
key: {"1", "1", "45"}, value: "test value 4"
key: {"1", "2", "45"}, value: "test value 2"
key: {"3", "1", "45"}, value: "test value 1"
key: {"11", "1", "45"}, value: "test value 3"
:因此,對於上面的例子,我應該得到以下結果我如何可以排序字典的關鍵,如果該鍵實際上是一個列表和通過的第一個元素進行排序列表,然後是列表的第二個元素?
我強烈建議不要使用'List'作爲字典 – Jonesopolis
一鍵如果該鍵是一個數字,需要如此對待,你爲什麼要使用字符串列表? –
除了不使用列表作爲字典鍵:如果你真的需要你可以使用'SortedDictionary'與自定義比較器? – Brandon