Hej. Jag försöker att sortera ett Dictionary efter value men har stött på lite problem. String.Compare("kaka", "kossa", StringComparison.OrdinalIgnoreCase) kanske?Sortera dictionary
Dictionary<string, string> dictionary = new Dictionary<string, string>();
dictionary.Add("0", "va");
dictionary.Add("1", "wa");
dictionary.Add("2", "vb");
dictionary.Add("3", "wb");
List<KeyValuePair<string, string>> myList = new List<KeyValuePair<string, string>>(dictionary);
myList.Sort((firstPair, nextPair) => firstPair.Value.CompareTo(nextPair.Value));
Sorteringen går utmärkt förutom att bokstaven V likställs med W. Mao så ser den sorterade listan ut så här:
"0", "va"
"1", "wa"
"2", "vb"
"3", "wb"
Jag har testat att sätta InvariantCulture men resultatet blir om möjligt värre då Å, Ä likställs med A och Ö med O.
Jag har undersökt lite och det visar sig att V och W tydligen var likställt fram till 2006 då Svenska Akademien har erkännt W som en egen bokstav. MS har inte patchat det i sitt Framework. :)
Nåja. Någon som har förslag på hur jag kan få min lista så här istället?
"0", "va"
"2", "vb"
"1", "wa"
"3", "wb"
Tack!Sv: Sortera dictionary
(Ordinal = Jämför baserat på Unicode-numret)