除了.NET之外,这类似于
How to keep the order of elements in hashtable.
解决方法
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的未来版本中,此行为可能会更改.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。