c# 字典排序_C#中的集合

C#中有很多集合类型,比如List,Dictionary,这些是我们常用的,但也有一些少众的场合使用的集合:特征类型的ReadOnly集合,Sort集合;封装特定算法类型的集合:Queue(先进先出),Stack(后进先出),LinkedList(链表,每个元素承上启下);这些集合都是在特定的场合下使用,因为他们的特性限制了他的使用场景。

  • 只读集合:

  • 0e400260388ccda725c7f1cf2ab11396.png

        ///         /// 只读List        ///         static void ReadOnlyListTest()        {            IReadOnlyList<string> readOnlyList = new List<string>() { "a", "b", "c" };            foreach (var item in readOnlyList)            {                Console.WriteLine(item);            }            /*输出结果             a             b             c             */        }        ///         /// 只读字典        ///         static void ReadOnlyDictionaryTest()        {            var readOnlyDictionary = new ReadOnlyDictionary<int, string>(                new Dictionary<int, string>                {                    {5,"五"},                    {1,"一"},                    {10, "十"}                });            foreach (var item in readOnlyDictionary)            {                Console.WriteLine($"{item.Key}~{item.Value}");            }            /*输出结果             5~五             1~一             10~十             */        }
  • 排序集合

  • 010c7c49f63469e9c87bd58d3263e4be.png

       ///         /// 排序列表        ///         static void SortListTest()        {            var sortList = new SortedList<int, string>();            sortList.Add(10, "十");            sortList.Add(5, "五");            sortList.Add(1, "一");            Console.WriteLine(sortList.Keys);            foreach (var item in sortList)            {                Console.WriteLine($"{item.Key}~{item.Value}");            }            /*输出结果             1~一             5~五             10~十             */        }        ///         /// 排序字典        ///         static void SortDictionaryTest()        {            var sortDic = new SortedDictionary<int, string>();            sortDic.Add(10, "十");            sortDic.Add(5, "五");            sortDic.Add(1, "一");            Console.WriteLine(sortDic.Keys);            foreach (var item in sortDic)            {                Console.WriteLine($"{item.Key}~{item.Value}");            }            /*输出结果             1~一             5~五             10~十            */        }        ///         /// 排序set,不含重复值        ///         static void SortSetTest()        {            var sortSet = new SortedSet<int>();            sortSet.Add(10);            sortSet.Add(5);            sortSet.Add(1);            sortSet.Add(1);            foreach (var item in sortSet)            {                Console.WriteLine(item);            }            /*输出结果             1             5             10            */        }
  • 元素访问特性集合

    ad0a47a6ffedbac6cac9d97b796b97c2.png

    5b6c4615ab108c2956c67d08fe9cdbe3.png

  • cd92eae726d59d437745c60731c22660.png

       ///         /// 链表:每个元素承上启下        ///         static void LinkedListTest()        {            var linkedList = new LinkedList<string>();            linkedList.AddLast("2");            linkedList.AddLast("3");            linkedList.AddLast("5");            linkedList.AddFirst("1");            linkedList.AddBefore(linkedList.Find("5"), "4");            foreach (var item in linkedList)            {                Console.WriteLine(item);            }            Console.WriteLine($"2前面的值:{linkedList.Find("2").Previous.Value}");            Console.WriteLine($"2后面的值:{linkedList.Find("2").Next.Value}");            /*输出结果             1             2             3             4             5             2前面的值:1             2后面的值:3             */        }        ///         /// 哈希集合        ///         static void HashSetTest()        {            var hashSet = new HashSet<string>();            hashSet.Add("a");            hashSet.Add("c");            hashSet.Add("b");            hashSet.Add("a");            hashSet.Add("c");            hashSet.Add("b");            foreach (var item in hashSet)            {                Console.WriteLine(item);            }            /*输出结果             a             b             c             */        }        ///         /// 队列:先进先出        ///         static void QueueTest()        {            var queue = new Queue<int>();            queue.Enqueue(1);            queue.Enqueue(2);            queue.Enqueue(3);            foreach (var item in queue)            {                Console.WriteLine(item);            }            Console.WriteLine($"dequeue元素:{queue.Dequeue()}");            /*输出结果             1             2             3             dequeue元素:1             */        }        ///         /// 堆栈:后进先出        ///         static void StackTest()        {            var stack = new Stack<int>();            stack.Push(1);            stack.Push(2);            stack.Push(3);            foreach (var item in stack)            {                Console.WriteLine(item);            }            //pop元素            Console.WriteLine($"pop元素:{stack.Pop()}");            /*输出结果             3             2             1             pop元素:3             */        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值