c# – 按顺序对Hashtable进行排序

前端之家收集整理的这篇文章主要介绍了c# – 按顺序对Hashtable进行排序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
除了.NET之外,这类似于 How to keep the order of elements in hashtable.

.NET中是否有任何Hashtable或Dictionary允许您按照添加到集合中的顺序访问条目的.Index属性

解决方法

NameValueCollection可以通过索引检索元素(但是您不能要求特定键或元素的索引).所以,
var coll = new NameValueCollection();
coll.Add("Z","1");
coll.Add("A","2");
Console.WriteLine("{0} = {1}",coll.GetKey(0),coll[0]); // prints "Z = 1"

但是,当您多次添加键时,它的行为很奇怪(与IDictionary相比):

var coll = new NameValueCollection();
coll.Add("Z","2");
coll.Add("Z","3");
Console.WriteLine(coll[0]); // prints "1,3"

然而,这种行为已有详细记录.

警告:NameValueCollection不实现IDictionary.

暂且不说:字典< K,V>没有您可以使用的任何索引,但只要您只添加元素,并且永远不删除任何索引,元素的顺序就是插入顺序.请注意,这是Microsoft当前实现的详细信息:文档明确声明该顺序是随机的,因此在.NET Framework或Mono的未来版本中,此行为可能会更改.

原文链接:https://www.f2er.com/csharp/99010.html

猜你在找的C#相关文章