Не думаю, что я опубликовал достаточно подробностей в предыдущем вопросе, и люди, похоже, перестали отвечать, поэтому я делаю репосты, так как нам нужно знать, почему происходит эта проблема
Я работаю с 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
Теперь, когда мы перебираем словарь с целым числом в качестве индекса, мы получаем различные результаты - IE.если у нас есть 1,2,3,4 в качестве ключей при циклическом прохождении, они могут представлять их в следующем порядке: 4,2,1,3, что явно не имеет смысла, поскольку это должен быть отсортированный словарь.
Любая помощь как можно скорее будет принята с благодарностью, поскольку я поставлен в тупик по этому вопросу.Спасибо Джеймс