当前位置:  开发笔记 > 编程语言 > 正文

有没有简单的方法可以根据C#中的键对NameValueCollection进行排序?

如何解决《有没有简单的方法可以根据C#中的键对NameValueCollection进行排序?》经验,为你挑选了1个好方法。

我正在寻找一种基于密钥对NameValueCollection进行排序的简单方法 - 但它不应该是性能很重要.



1> Marc Gravell..:

SortedDictionary或开始,SortedList你已经在那里......

如果您需要每个键的多个项目,那么请考虑一个SortedDictionary>.有一些方法可以使用扩展方法简化添加等 - 它不一定非常可怕.

另请注意,这NameValueCollection不区分大小写,因此您可能需要使用其中一个不敏感的比较 - 例如:

Dictionary data = new Dictionary(
            StringComparer.InvariantCultureIgnoreCase);

(编辑)这是一个使用扩展方法在C#3.0中针对单个键填充多个值的示例:

    static void Main()
    {
        var data = new Dictionary>(
            StringComparer.InvariantCultureIgnoreCase);
        data.Add("abc", "def");
        data.Add("abc", "ghi");
    }

    static void Add(this IDictionary> lookup,
        TKey key, TValue value)
    {
        List list;
        if (!lookup.TryGetValue(key, out list))
        {
            list = new List();
            lookup.Add(key, list);
        }
        list.Add(value);
    }

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有