【发布时间】:2016-03-04 18:43:39
【问题描述】:
我想按键对下面的字典进行排序。
Dictionary<string, string> Numbers;
样本数据:
(100,+100)
(24,+24)
(214,+214)
(3,+3)
(1,+1)
预期输出:
(1,+1)
(3,+3)
(24,+24)
(100,+100)
(214,+214)
如果我使用 SortedDictionary,我的输出是
(1,+1)(100,+100)(24,+24)(214,+214)(3,+3)
【问题讨论】:
-
你能用 SortedDictionary 代替吗? msdn.microsoft.com/en-us/library/f7fta44c(v=vs.110).aspx
-
如果我使用 SortedDictionary
。我的输出是 (1,+1)(100,+100)(24,+24)(214,+214)(3,+3) -
你有想过 LINQ 吗?
-
为了完整起见,排序字典不起作用的原因是因为您有一个字符串作为键值。排序顺序对于字符串排序是正确的。通过使用@gaemaf 答案,您表明该键可以是一个 int 值。您最好的做法是将 Numbers 更改为 Numbers
并让键在任何地方都是整数。只是为了迂腐,带有字符串键的排序字典结果是 (1, +1)(100, +100)(214, +214)(24, +24)(3, +3)
标签: c# dictionary