Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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#_.net_Sorting_Dictionary - Fatal编程技术网

C# 使用另一个字典的键按值对字典排序

C# 使用另一个字典的键按值对字典排序,c#,.net,sorting,dictionary,C#,.net,Sorting,Dictionary,我有两本字典: 1. Dictionary<String, Person> 2. Dictionary<Person, int> 我想按照值(即人员)对第一本词典进行排序,排序顺序与第二本词典中键(即人员)的顺序完全相同。最简单的方法是什么?尝试以下方法: var ordered = dictionary1.OrderBy(p => dictionary2[p.Value]).ToArray(); 请尝试以下操作: var ordered = dictionar

我有两本字典:

1. Dictionary<String, Person>
2. Dictionary<Person, int>
我想按照值(即人员)对第一本词典进行排序,排序顺序与第二本词典中键(即人员)的顺序完全相同。最简单的方法是什么?

尝试以下方法:

var ordered = dictionary1.OrderBy(p => dictionary2[p.Value]).ToArray();
请尝试以下操作:

var ordered = dictionary1.OrderBy(p => dictionary2[p.Value]).ToArray();

字典没有顺序,那么第二个字典中键的顺序是什么意思?你的意思是说你有一个IComparer?你说的分类词典是什么意思?多吃点鸡肉。接受更多答案。@Shahid-你确定你指的是字典的键,而不是第二本字典的int值吗?好的,很抱歉没有正确解释。我可以看到有一个OrderBykeySelector。我想在第一个字典中使用类似于“值”的排序方式,并在第二个字典中使用“键”列表的顺序。顺便说一下,在这种情况下,第二个字典中的键大小完全相同,值也完全相同,只是顺序不同,字典中的键没有排序,那么,第二本词典中键的顺序是什么意思?你的意思是说你有一个IComparer?你说的分类词典是什么意思?多吃点鸡肉。接受更多答案。@Shahid-你确定你指的是字典的键,而不是第二本字典的int值吗?好的,很抱歉没有正确解释。我可以看到有一个OrderBykeySelector。我想使用类似的方法在第一个字典上按“值”排序,并使用第二个字典中“键”列表的顺序。顺便说一句,在这种情况下,第二个字典中的键的大小和值完全相同,只是顺序不同,即按第二个字典的值排序,而不是按键排序。坦白地说,问题中没有足够的信息。对不起,误读了问题。你是对的。对我来说,很明显,他想按值排序,因为正如你所说,第二本字典中没有人的顺序。感谢您注意到这一点。这是按第二个字典的值排序,而不是按键排序。坦白地说,问题中没有足够的信息。对不起,误读了问题。你是对的。对我来说,很明显,他想按值排序,因为正如你所说,第二本字典中没有人的顺序。谢谢你注意到这一点。