我是C#的新手,我对使用key /存储数据的所有方式感到有些迷茫 值。
我在key和int中有一个字符串,它是一个值的长度,我想存储它们并按值对它们进行排序。
我需要采取哪种方式? Dictionary,SortedDictionary,List,KeyValuePair SortedList ...
感谢您的帮助!
答案 0 :(得分:1)
对于大多数情况,您只需使用Dictionary<string, int>
即可。如果您想要排序,您可以在检索期间进行排序,例如
var d = new Dictionary<string, int>();
d.Add("Key2",2);
d.Add("Key1",1);
//Sort by key
foreach (var k1 in d.OrderBy(a => a.Key))
Console.Writeline(k1.Value);
//Sort by value
foreach (var k2 in d.OrderBy(a => a.Value))
Console.Writeline(k2.Value);
分类的开销很小,大多数开发人员都不关心。
如果您有一个非常大的列表,并且想要更有效的排序,则可以使用SortedDictionary
代替。插入字典会有更多的开销,但检索效率会更高。但是SortedDictionary按键排序,而不是按值排序,因此它可能不适用于您的情况。