我不认为我在前面的问题张贴了足够的细节,人们似乎停止响应,所以我重新张贴因为我们需要知道为什么这个问题发生C#SortedDictionary产生不寻常的结果 - Mk2的
我m与SortedDictionary一起工作,当我们循环它时,我们会得到奇怪的结果。
有很多嵌套涉及和最终字典实际上是另一个字典的孩子是另一个孩子!
是完整的巢。
SortedDictionary<String, SortedDictionary<String, SortedDictionary<int, SortedDictionary<String, String>>>>()
我正在通过循环的字典是
SortedDictionary<int, SortedDictionary<String, String>>
这里是循环:
foreach (SortedDictionary<String, String> cDic in openTrades.Values)
{
String cTimestamp = convertTimestamp(cDic["open"]);
if (!closeTrades.ContainsKey(cDic["key"]) && barArray.ContainsKey(cDic["pair"]))
{
foreach (SortedDictionary<String, String> bDic in barArray[cDic["pair"]][cDic["frame"]].Values)
{
//This is the relative Loop
}
}
}
barArray是我们的首要SortedDictionary(这个问题的主题) openTrades是另一个SortedDictionary
现在,当我们通过dic循环以一个整数作为索引,我们得到不同的结果 - IE。如果我们有1,2,3,4作为循环的关键字,可能会按照以下顺序显示它们:4,2,1,3显然没有意义,因为这意味着它是一个已排序的字典。
任何帮助尽快将不胜感激,因为即时通讯难倒这个问题。 谢谢 James
它在我看来,如果你应该能够想出一个简短但完整的程序来演示问题,但哪个*不需要所有这些嵌套。 – 2011-06-13 12:36:30
你能解释更多像barArray和openTrades的实现吗 – 2011-06-13 12:43:04
我添加嵌套的原因是因为它是最简单的形式 - 这工作得很好,但是当它嵌套时它不会! Navid你需要更多解释吗? – James 2011-06-13 15:05:16