//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;
}
C#将集合key键以ASCII码从小到大排序
本文转载:CSDN博客