//using System.Collections.Generic;  需要引用
//using System.Linq;  需要引用
//C#的SortedDictionary<string,string>集合对key不是按照ascii码排序的因为他没有区分大小写,这就是个差别
Dictionary<string, string> dic2 = new Dictionary<string, string>();
dic2.Add("MerchantNo", "456");
dic2.Add("MerUserId", "123");
var arrKeys2 = dic2.Keys.ToArray();
Array.Sort(arrKeys2, string.CompareOrdinal);//ASCII码从小到大排序
foreach (var key in arrKeys2)
{
    string val = dic2[key];
}
//得到的结果是MerUserId应该排在MerchantNo前面

        //将集合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;
        }

本文转载:CSDN博客