相关文章推荐
重感情的生姜  ·  python ...·  1 年前    · 
乖乖的牛腩  ·  VS 2015 出现 ...·  2 年前    · 
玩命的奔马  ·  wstring,WCHAR,TCHAR,CH ...·  2 年前    · 

c# sort dictionary by another list

在C#中,如果你有一个字典(Dictionary)和一个列表(List),你可以按照列表中的元素顺序对字典进行排序。这可以通过以下步骤实现:

创建一个新的有序字典(SortedDictionary)。

迭代列表中的元素,并使用字典的索引器访问字典中对应的键值对。

将键值对添加到新的有序字典中。

以下是代码示例:

// 假设你有以下字典和列表
Dictionary<string, int> dict = new Dictionary<string, int>();
dict.Add("apple", 5);
dict.Add("banana", 2);
dict.Add("orange", 8);
List<string> keys = new List<string>{"orange", "banana", "apple"};
// 创建新的有序字典
SortedDictionary<string, int> sortedDict = new SortedDictionary<string, int>();
// 迭代列表并添加键值对到新的有序字典中
foreach (string key in keys)
    sortedDict.Add(key, dict[key]);
// 打印排序后的字典
foreach (KeyValuePair<string, int> kvp in sortedDict)
    Console.WriteLine("Key: {0}, Value: {1}", kvp.Key, kvp.Value);

输出结果如下:

Key: apple, Value: 5
Key: banana, Value: 2
Key: orange, Value: 8

这个例子中,我们首先定义了一个字典,然后创建了一个列表来指定字典中键的顺序。接着,我们创建了一个新的有序字典,并使用foreach循环迭代列表,将字典中的键值对按照列表中的顺序添加到新的有序字典中。最后,我们使用foreach循环遍历新的有序字典,并打印键值对的结果。

希望这个例子对你有帮助。如果你还有其他问题,请随时提问。

  •