相关文章推荐
有爱心的爆米花  ·  Spring Cloud 系列之 ...·  1 年前    · 
留胡子的红薯  ·  Virtual Treeview ...·  2 年前    · 
长情的啤酒  ·  售价19.98-28.48万元 ...·  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循环遍历新的有序字典,并打印键值对的结果。

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

  •