zoukankan      html  css  js  c++  java
  • C# Dictionary排序

    年底接近尾声,闲来无事,继续加强学习C#的一些基础知识,今天弄了一下Dictionary排序,顺便

    做个小Demo,以加深映像,为了更加真实些,稍微使逻辑复杂了一些,关键训练一下自己的思维逻辑:

    1.先看效果图:

    C# <wbr>Dictionary排序

    2.核心逻辑如下:

    Dictionary<int, string> list = new Dictionary<int, string>();//实例化一个字典
    Random rd = new Random();//为了更加真实,创建一个生成整数的随机数生成器
    int id = 0;
    List<int> idlist = new List<int>();//用来生成100个整数,并存放到列表里idlist
    for (int i = 0; i < 100; i++)
    {
    id = rd.Next(1, 100);
    idlist.Add(id);
    }

    //遍历列表idlist,并加入字典list
    foreach (int item in idlist)
    {
    if (!list.ContainsKey(item))
    {
    list.Add(item, "字典排序测试");
    }
    }

    //实现排序的关键方法,可以声明一个key-value结构的集合数组,这里用了List,只要符合key-value结构的数据结构都可以,

    //然后利用字典的OrderBy(升序)、OrderByDescending(降序)方法轻松实现排序功能

    //通过过linq也可以实现:var result = from pair in dic orderby pair.Key select pair

    List<KeyValuePair<int, string>> lstorder = list.OrderByDescending(c => c.Key).ToList();

    DataTable dt = new DataTable();
    dt.Columns.Add("编号");
    dt.Columns.Add("内容");
    foreach (KeyValuePair<int, string> item in lstorder)
    {
    dt.Rows.Add(item.Key, item.Value);
    }
    this.dataGridView1.DataSource = dt;//用DataGridView来展示结果

    总结:不要忽略对基础知识的学习,更难更复杂的东西,实现的基础往往是这些小细节来组合而成的,莫要好高骛远,踏踏实实,扎扎实实学习。

  • 相关阅读:
    数组定义和使用
    跳转语句—break,continue,goto
    案例 天线抬不起头来
    int是几位;short是几位;long是几位 负数怎么表示
    Python3的类注意事项
    用usb线配置直流电机驱动器不能配置成功
    案例 电源灯亮,但是就是不闪灯,而且也下载不了程序
    关于ai算法的一个点子
    进程 并发 线程 032
    ftp功能深度剖析 + 线程 031
  • 原文地址:https://www.cnblogs.com/xxaxx/p/2785313.html
Copyright © 2011-2022 走看看