C# 什么';这是在C中用key/value存储排序数据的最佳方法#

C# 什么';这是在C中用key/value存储排序数据的最佳方法#,c#,C#,我是C#新手,我对用密钥存储数据的所有方法都有点迷茫/ 价值观 我在key中有一个字符串和一个int,int是值的长度,我想存储它们并按值排序 我需要走哪条路?字典,分类字典,列表,键值对分类列表 谢谢你的帮助 在大多数情况下,您只需使用字典。如果您想要排序,您可以在检索期间进行排序,例如 var d = new Dictionary<string, int>(); d.Add("Key2",2); d.Add("Key1",1); //Sort by key foreach (v

我是C#新手,我对用密钥存储数据的所有方法都有点迷茫/ 价值观

我在key中有一个字符串和一个int,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);
var d=newdictionary();
d、 添加(“键2”,2);
d、 添加(“键1”,1);
//按键排序
foreach(d.OrderBy中的var k1(a=>a.Key))
控制台写入线(k1值);
//按值排序
foreach(d.OrderBy中的var k2(a=>a.Value))
控制台写入线(k2值);
排序的开销很小,大多数开发人员都不会在意


如果您有一个非常大的列表,并且希望更高效地排序,您可以使用
SortedDictionary
。插入字典会稍微增加开销,但检索会更有效。但SortedDictionary是按键排序的,而不是按值排序的,因此它可能不适合您的情况。

字典(在没有任何其他要求的情况下),任何非平凡的c#程序都像往常一样充满了它们,这取决于您计划如何使用它,但SortedDictionary是一个很好的起点。虽然如果希望按值对它们进行排序,那么可能需要将值设为键,因为排序字典按键排序。