.NET 不加参数,默认不是按ASC II 排序 。
JAVA 默认是按ASC II 排序 。
Array.Sort(arrKeys, string.CompareOrdinal); 按ASC II 排序。区分大小写。
Array.Sort(arrKeys); 排序但不区分大小写。
方法1:
public static IDictionary<string, string> AsciiDictionary(IDictionary<string, string> sArray) { IDictionary<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; }
var dic2 = HashUtil.AsciiDictionary(dic1);
方法2:
SortedDictionary<string, string> paras = new SortedDictionary<string, string>(StringComparer.Ordinal);
SortedDictionary默认行为也一样。