有没有简单的方法可以根据 C# 中的键对 NameValueCollection 进行排序?
我正在寻找一种简单的方法来根据键对 NameValueCollection 进行排序 - 但它不应该是性能负担重的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我正在寻找一种简单的方法来根据键对 NameValueCollection 进行排序 - 但它不应该是性能负担重的。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
从
SortedDictionary
或SortedList
开始,您就已经在那里了...如果您需要每个键多个项目,请考虑
SortedDictionary>
。 有一些方法可以通过扩展方法来简化加法等 - 这并不可怕。另请注意,
NameValueCollection
不区分大小写,因此您可能需要使用其中一种不敏感的比较 - 例如:(编辑)这是使用扩展方法针对单个键填充多个值的示例在 C# 3.0 中:
Start with
SortedDictionary<string,string>
orSortedList<string,string>
and you're already there...If you need the multiple items per key, then consider a
SortedDictionary<string,List<string>>
. There are ways to simplify addition etc with extension methods - it needn't be scary.Note also that
NameValueCollection
is case-insensitive, so you might need to use one of the insensitive comparisons - for example:(edit) here's an example of using an extension method to populate multiple values against a single key in C# 3.0:
这是一个我不太引以为豪的强力破解方法,但如果您需要一些快速而肮脏的东西,它就有效。
Here's a brute force hack that I'm not too proud of, but it works if you need something quick and dirty.