我有一個列表KeyValuePair
,它是int和一個自定義對象Function。我也有一個函數ID列表。兩個列表都按字母順序排序。我需要將1列表中的函數ID與另一個列表中的函數ID進行匹配。所以,說看起來KVP的列表,如:如何從列表和鍵值對列表中創建詞典
1, (Function.name = foo, function.Id = 4)
2, (Function.name = bar, function.Id = 7)
而剛剛ID列表是:
142
154
我需要的字典:
{4, 142}
{7, 154}
左右的混搭兩個列表中的函數ID。
我該怎麼做?
這裏是我試過:
Dictionary<int, int> map = new Dictionary<int, int>();
List<KeyValuePair<int, Function>> sorted = SortFunctions();
IEnumerator sortEnum = sorted.GetEnumerator();
IEnumerator dicEnum = FunctionIds.GetEnumerator();
while ((sortEnum.MoveNext()) && (dicEnum.MoveNext()))
{
//Not sure what to do next? Just map[sortEnum.Next()] = dicEnum.Next()?
}
//Also was trying to use zip.. many many errors
List<string> sortedFuncs = sorted.ToList();
Dictionary<int, int> map2 = functionIds.ToDictionary(x => x, x => sortedFuncs.Value.Id[functionIds.IndexOf(x)]);
爲什麼'{「Foo」,4}'與'142'匹配? – Servy
這兩個收藏之間的關係並不完全清楚。邏輯是否簡單地通過索引進行鏈接,所以'sorted'中第三個位置的KVP與FunctionIDs中第三個位置的FunctionID匹配? –