【发布时间】:2016-05-30 11:18:14
【问题描述】:
我正在使用 Firebase for Unity 来存储一些带有分数的用户。 Firebase 将我的用户列表返回为 IDictionary<string, object>,其中 Key 是 Firebase 生成的某个 id,Value 是另一个代表用户的 IDictionary<string, object>。
用户有一个名为“分数”的Key,我想按照排行榜分数的Value 对所有用户进行排序。
这或多或少的数据看起来像 JSON:
"users": {
"<userid>" : {
"name" : "John",
"score": 5
...
},
"<userid>" : {
"name" : "Pete",
"score" : 10
}
...
}
我将如何对用户列表进行排序?我认为我需要以某种方式使用 Linq,但我仍在努力掌握它的工作原理。
我们将不胜感激。 谢谢!
【问题讨论】:
-
您无法对
IDictionary<K, V>进行排序。它们没有定义的排序顺序。这就是SortedDictionary存在的原因。除非你很高兴拥有IEnumerable<KeyValuePair<string, object>>,否则你无法得到你想要的。 -
Dictionary无法排序,请改用List。 -
看this
-
您是在寻找真正对字典进行排序还是仅按特定顺序显示它们?