2
我有兩個字典:排序字典使用其他字典的鍵的值
1. Dictionary<String, Person>
2. Dictionary<Person, int>
我想通過值排序的第一個字典(即人(S))訂購它完全一樣的順序第二個詞典中的鍵(即Person(s))。最簡單的方法是什麼?
我有兩個字典:排序字典使用其他字典的鍵的值
1. Dictionary<String, Person>
2. Dictionary<Person, int>
我想通過值排序的第一個字典(即人(S))訂購它完全一樣的順序第二個詞典中的鍵(即Person(s))。最簡單的方法是什麼?
嘗試以下操作:
var ordered = dictionary1.OrderBy(p => dictionary2[p.Value]).ToArray();
Dictionary<string, int> first = new Dictionary<string, int>();
Dictionary<int, string> second = new Dictionary<int, string>();
first.Add("a", 1);
first.Add("c", 3);
first.Add("b", 2);
first.Add("g", 7);
first.Add("d", 4);
second.Add(3, "c");
second.Add(1, "a");
second.Add(7, "g");
second.Add(2, "b");
second.Add(4, "d");
Dictionary<string, int> final = new Dictionary<string, int>();
second.ToList().ForEach(s =>
{
if (first.ContainsValue(s.Key))
final.Add(s.Value, s.Key);
});
foreach (var item in final)
{
Console.WriteLine(item.Key + " " + item.Value);
}
`Dictionary` s的不排序,所以你是什麼意思的第二個`Dictionary`按鍵的順序?你的意思是你有`IComparer`?無論如何,排序字典意味着什麼? –
jason
2011-02-01 13:15:52
多吃雞肉。接受更多答案。 – jason 2011-02-01 13:16:54