我有一本字典(使用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