gpt4 book ai didi

C# SortedDictionary 产生异常结果

转载 作者:行者123 更新时间:2023-11-30 19:20:27 26 4
gpt4 key购买 nike

我正在使用一个 SortedDictionary,其中键是整数,值是字符串。

SortedDictionary<int,string> dic = new SortedDictionary<int,string>();

现在假设我添加如下值

dic.Add(100,"String 1");
dic.Add(1113,"String 2");
dic.Add(1,"String 3");
dic.Add(70,"String 4");

然后像这样做一个foreach循环

foreach(string item in dic.Values) {
Console.WriteLine(item);
}

然后值永远不会以正确的顺序出现,它们以几乎随机的顺序出现,这与普通字典的行为相似。任何人有任何想法为什么?我错过了什么/做错了什么吗?

PS:当我说它以随机顺序出现时,我的意思是键顺序而不是值,所以它像 1113,70,1,100 一样出现


看来我可能过度简化了问题,但这应该没什么区别,涉及很多嵌套,最终字典实际上是另一个字典的子字典,而另一个字典又是另一个字典的子字典!

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

谢谢詹姆斯

最佳答案

SortedDictionary而不是值排序。

如果您执行以下操作

foreach(var item in dic)
{
Console.WriteLine(item.Key + "-" + item.Value);
}

你会看到它按按键排序打印出来:

1-String 3
70-String 4
100-String 1
1113-String 2

关于C# SortedDictionary 产生异常结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6193158/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com