iT邦幫忙

0

LINQ ToDictionary

vat list =data;
TransactionData = new Dictionary<string, Dictionary<string, List>>();
TransactionData.Add("無分類", new Dictionary<string, List>());
TransactionData["無分類"].Add("無分類", list);
請問大家上面這一段辦法用LINQ ToDictionary 寫出來嗎?

1 個回答

0
glj8989332
iT邦新手 4 級 ‧ 2020-07-31 18:39:59
最佳解答

不太確定你的需求, 假設"無分類"這資料也是來自於某個IEnumerable, 我是這樣寫

List<int> data = new List<int>();
data.Add(1);
data.Add(2);

List<string> titles = new List<string>()
{
    "無分類",
    "另一個分類"
};
var TransactionData = titles.ToDictionary(x => x, y =>
{
    var newDic = new Dictionary<string, List<int>>();
    newDic.Add(y, data);
    return newDic;
});
qwe891107 iT邦新手 5 級 ‧ 2020-07-31 19:09:52 檢舉

謝謝大大 好像有點頭緒了
我是想要包成巢狀Dictionary
兩個KEY對應兩個COMBOBOX
然後顯示出資料
有一個需求是要有顯示出所有資料的選項
跟分組完後的所有資料。

無分類-無分類-data
某分類-無分類-第一次類後的data

qwe891107 我這寫法還有個要小心的點, List<int> data是reference type, 一直加在不同的Dictionary仍會參考到同一個記憶體物件. 所以如果每個Dictionary要獨立的List, 建議要Deep Copy.

我要發表回答

立即登入回答