• C# lambda 实现 Ascii 排序


                var dir = new Dictionary<string, string>();
                dir.Add("channelId", "1");
                dir.Add("gameid", "1");
                dir.Add("game_id", "1");
                dir.Add("orderStatus", "1");
                dir.Add("order_no", "1");

                Console.WriteLine(String.Join("&", dir.OrderBy(a => a.Key, new AsciiCompareStrings()).Select(a => string.Format("{0}={1}", a.Key, a.Value))));

    //channelId=1&game_id=1&gameid=1&orderStatus=1&order_no=1
                Console.WriteLine(String.Join("&", dir.OrderBy(a => a.Key).Select(a => string.Format("{0}={1}", a.Key, a.Value))));

    //channelId=1&game_id=1&gameid=1&order_no=1&orderStatus=1

           /// <summary>
            /// ascii码排序
            /// </summary>
            public class AsciiCompareStrings : IComparer<string>
            {
                /// <summary>
                /// 以ascii码从小到大排序
                /// </summary>
                /// <param name="s1"></param>
                /// <param name="s2"></param>
                /// <returns></returns>
                public int Compare(string s1, string s2)
                {
                    return string.CompareOrdinal(s1, s2);
                }
            }

    ***************************************数组排序实现****************************************


            //将集合key以ascii码从小到大排序
            public static Dictionary<string, string> AsciiDictionary(Dictionary<string, string> sArray)
            {
            
                Dictionary<string, string> asciiDic = new Dictionary<string, string>();
                string[] arrKeys = sArray.Keys.ToArray();
                Array.Sort(arrKeys, string.CompareOrdinal);
                foreach (var key in arrKeys)
                {
                    string value = sArray[key];
                    asciiDic.Add(key, value);
                }
                return asciiDic;
            }

  • 相关阅读:
    Linux性能监控
    程序员技术练级攻略
    使用 GDB 调试多进程程序
    nginx下面部署fast-cgi和C++【原】
    ROS Learning-024 (提高篇-002) rviz的安装和使用
    ROS Learning-023 (提高篇-001) 准备工作 --- 安装一些必要的软件包
    STM32 C++编程 005 I2c(Soft)类
    Python 网络爬虫 005 (编程) 如何编写一个可以 下载(或叫:爬取)一个网页 的网络爬虫
    设置 PyCharm 软件中 Terminal 窗口 中启动的 python 交互命令的版本
    在PyCharm 软件中设置你的项目 使用的Python版本
  • 原文地址:https://www.cnblogs.com/change4now/p/9400222.html
Copyright © 2020-2023  润新知