我正在尝试根据我的词典值以升序输出我的排序字典字典。这些价值观正在蒸发并不断变化。但是我没有得到理想的输出。
现在我有这个:
foreach(KeyValuePair<string, float> p in estimote_data.estimoteDictionary)
{
Debug.Log("Key Valeu: " + p.Key + " Value value: " + p.Value);
}
这是放在我的更新方法中并输出以下内容:
Key Valeu:6491 Value value:2.782559
几行Unity Xcode调试内容
Key Valeu:18087价值:0.278256
我正在尝试获取它,所以我可以看到值根据Value值自动排序,但我很难完成这项工作。有人可以帮助我吗?
答案 0 :(得分:0)
SortedDictionary按键排序。如果您想按某种顺序对项目列表进行排序,则需要告诉程序:
foreach(KeyValuePair<string, float> p in estimote_data.estimoteDictionary.OrderBy(p=>p.Value))
{
Debug.Log("Key Valeu: " + p.Key + " Value value: " + p.Value);
}
这种排序将以O(n log n)的顺序昂贵。如果您只使用Dictionary进行排序,则只需切换Key和Value,如下所示:
foreach(KeyValuePair<float, string> p in estimote_data.estimoteDictionary)
{
Debug.Log("Key Valeu: " + p.Value+ " Value value: " + p.Key);
}