有没有像Dictionary<string, List<string>>顺序存储的结构

foreach的时候,dictionary是乱序的,什么结构是顺序,或是排序的... foreach的时候, dictionary是乱序的, 什么结构是顺序,或是排序的 展开
 我来答
iceser
推荐于2016-07-27 · TA获得超过2708个赞
知道大有可为答主
回答量:695
采纳率:100%
帮助的人:442万
展开全部
谁说没有?

SortedDictionary<(Of <(TKey, TValue>)>) 泛型类是检索运算复杂度为 O(log n) 的二叉搜索树,其中 n 是字典中的元素数。就这一点而言,它与 SortedList<(Of <(TKey, TValue>)>) 泛型类相似。这两个类具有相似的对象模型,并且都具有 O(log n) 的检索运算复杂度。

Example:

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

dic.Add("123", null);
dic.Add("000", null);
dic.Add("4", null);
dic.Add("0", null);

foreach (KeyValuePair<string, List<string>> item in dic)
{
Console.WriteLine(item.Key);
}

运行结果:

0
000
123
4

如果需要自定义比较
可以调用其相应的构造函数重载。

受以下版本支持:3.5、3.0、2.0

参考资料: MSDN

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
149032105
2009-11-27 · TA获得超过756个赞
知道小有建树答主
回答量:1029
采纳率:0%
帮助的人:661万
展开全部
没有,要自己手动排序一次

using System.Linq;

Dictionary<string, List<string>> s = new Dictionary<string, List<string>>();
s.Add("009", new List<string> { "009" });
s.Add("001", new List<string> { "001" });
var v =s.OrderBy(d => d.Key);
foreach (var item in v) { Console.WriteLine(item.Key);}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
睢奇姒乾
2019-09-07 · TA获得超过3588个赞
知道大有可为答主
回答量:2980
采纳率:28%
帮助的人:403万
展开全部
没有,要自己手动排序一次
using
system.linq;
dictionary<string,
list<string>>
s
=
new
dictionary<string,
list<string>>();
s.add("009",
new
list<string>
{
"009"
});
s.add("001",
new
list<string>
{
"001"
});
var
v
=s.orderby(d
=>
d.key);
foreach
(var
item
in
v)
{
console.writeline(item.key);}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式