Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在c语言中对字典进行键排序#_C#_.net_Sorting_Dictionary - Fatal编程技术网

C# 如何在c语言中对字典进行键排序#

C# 如何在c语言中对字典进行键排序#,c#,.net,sorting,dictionary,C#,.net,Sorting,Dictionary,我有一本字典,我想按它的键分类 var dict = new Dictionary<int, string>(){ {1, "a"}, {3, "c"}, {2, "b"} }; 有没有办法使用自定义排序选项(如lambda)对字典进行排序?var dict=new Dictionary(){ {1,“a”}, {3,“c”}, {2,“b”} }; foreach(dict.OrderByDesc

我有一本字典,我想按它的键分类

var dict = new Dictionary<int, string>(){
    {1, "a"},
    {3, "c"},
    {2, "b"}
};
有没有办法使用自定义排序选项(如lambda)对字典进行排序?

var dict=new Dictionary(){
{1,“a”},
{3,“c”},
{2,“b”}
};
foreach(dict.OrderByDescending(x=>x.Key)中的变量k)
{
控制台写入线(k);
}

SortedDictionary有一个构造函数,您可以在其中传入一个IComparer,它应该允许您按照自己的喜好进行排序。
foreach(dict.OrderByDescending(e=>e.Key)中的var kvp)
是的,但是如何将
System.Linq.iorderenumerable
转换回
字典
?您不能不丢失排序。字典没有分类。
var sortedDict = new SortedDictionary<int, string>(dict);
foreach (var k in sortedDict)
{
    Console.WriteLine(k);
}

// Result:
[1, a]
[2, b]
[3, c]

// Desired result:
[3, c]
[2, b]
[1, a]
var dict = new Dictionary<int, string>(){
  {1, "a"},
  {3, "c"},
  {2, "b"}
};

foreach (var k in dict.OrderByDescending(x => x.Key))
{
   Console.WriteLine(k);
}