SortedDictionary<TKey,TValue>正序与反序排序

SortedDictionary<TKey,TValue>能对字典排序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SortDictionary
{
    class Program
    {
        static void Main(string[] args)
        {
            TestDictionarySort();
            TestDictionarySort2();
            Console.Read();
        }
        private static void TestDictionarySort()
        {
            SortedDictionary<string, string> sd = new SortedDictionary<string, string>();
            sd.Add("321", "fdsgsags");
            sd.Add("acb", "test test");
            sd.Add("1123", "lslgsgl");
            sd.Add("2bcd13", "value");

            foreach (KeyValuePair<string, string> item in sd)
            {
                Console.Write("键名:" + item.Key + " 键值:" + item.Value+"\r\n");
            }

        }

        private static void TestDictionarySort2()
        {
            SortedDictionary<string, string> sd = new SortedDictionary<string, string>();
            sd.Add("321", "fdsgsags");
            sd.Add("acb", "test test");
            sd.Add("1123", "lslgsgl");
            sd.Add("2bcd13", "value");

            Console.Write("\r\n正序排序数据:\r\n");
            foreach (KeyValuePair<string, string> item in sd)
            {
                Console.Write("键名:" + item.Key + " 键值:" + item.Value + "\r\n");
            }

            //重新封装到Dictionary里(PS:因为排序后我们将不在使用排序了,所以就使用Dictionary)
            Dictionary<string, string> dc = new Dictionary<string, string>();
            foreach (KeyValuePair<string, string> item in sd.Reverse())
            {
                dc.Add(item.Key, item.Value);
            }
            sd = null;
            //再看其输出结果:
            Console.Write("\r\n反序排序数据:\r\n");
            foreach (KeyValuePair<string, string> item in dc)
            {
                Console.Write("键名:" + item.Key + " 键值:" + item.Value + "\r\n");
            }
        }

    }
}

结果:

时间: 2024-10-10 06:37:31

SortedDictionary<TKey,TValue>正序与反序排序的相关文章

SortedDictionary&lt;TKey, TValue&gt; 类 表示根据键进行排序的键/值对的集合。

SortedDictionary<TKey, TValue> 类   表示根据键进行排序的键/值对的集合. SortedDictionary<TKey, TValue> 中的每个键必须是唯一的. 键不能为 null,但是如果值类型 TValue 为引用类型,该值则可以为空.SortedDictionary 可对未排序的数据执行更快的插入和移除操作.

字典---有序字典(SortedDictionary&lt;TKey,TValue&gt;)

--------------------------------------------------------------EmployeeID.cs(键) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; public class EmployeeID : ICo

Net集合类的研究-有序集合(二)-SortedDictionary&lt;TKey,TValue&gt;(转)

Net集合类的研究-有序集合(二)-SortedDictionary<TKey,TValue> 从类名就可以看出SortedDictionary<TKey,TValue>和上篇介绍的SortedList一样,都是有序集合,但从类内部的存储结构上看,两者有很大区别,SortedList内部用数组保存,只能算是有序线性表,而SortedDictionary<TKey,TValue>的内部结构是红黑树. 园子里有不少关于红黑树的好文章,已将红黑树分析的很透彻.所以这里不讨论红

C# 谈Dictionary&lt;TKey,TValue&gt;,SortedDictionary&lt;TKey,TValue&gt;排序

使用过Dictionary的人都知道,当每一个Add里面的值都不会改变其顺序,所以需要需要对其排序的时候就用到SortedDictionary, 但SortedDictionary并不是那么理想,其默认的方式只支持正序排序,想要反序排序时必须得靠自己重新编写代码,下面来看一个简单的例子: private void TestDictionarySort() { SortedDictionary<string, string> sd = new SortedDictionary<string

C# SortedDictionary&lt;TKey, TValue&gt; 类

表示根据键进行排序的键/值对的集合. https://msdn.microsoft.com/zh-cn/library/f7fta44c.aspx 版权声明:本文为博主原创文章,未经博主允许不得转载.

python找出一个正序反序都相等的数字(例如28682)

直接上代码 #coding:utf-8 def f1(x): #定义一个函数,查找正序反序都相等的数字 if type(x) !=int: #如果函数参数不是整型,退出程序 exit('must a int type') x=str(x) lix=list(x) str1='' i=len(lix)-1 while i <len(lix) and i >=0: #循环的作用是将字符串从尾到头重新组合相加一次 str1=str1+lix[i] i=i-1 if x==str1: #如果源字符串和

android listview反序和正序显示

本人很喜欢晚上睡觉用暴风语音看电影,如图: 现在写个demo 演示下 MainActivity.java package com.example.listview; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickLis

给定一整型数组,若数组中某个下标值大的元素值小于某个下标值比它小的元素值,称这是一个反序

[问题] 找出反序的个数 给定一整型数组,若数组中某个下标值大的元素值小于某个下标值比它小的元素值,称这是一个反序. 即:数组a[]; 对于i < j 且 a[i] > a[j],则称这是一个反序. 给定一个数组,要求写一个函数,计算出这个数组里所有反序的个数. [代码] #include <stdio.h> #include <stdlib.h> #include <string.h> int sumNum = 0; void merge(int *a,

【字符串处理算法】将输入字符串中的各个单词反序的算法设计及C代码实现

一.需求描述 输入一个字符串,编写程序将该字符串中的各个单词反序拼装并输出.例如,如果输入的字符串是"Hello, how do you do",那么输出的字符串为"do you do how Hello,".注意保留各个单词之间的空格及相应的标点符号. 二.算法设计 通过观察示例字符串(即"Hello, how do you do"),我们可以看到该字符串中各个单词与空格之间的关系为:单词总数=空格总数+1.也就是说,示例字符串中的空格总数为4