簡體   English   中英

插入清單 <string> 和清單 <Object> 進入字典

[英]inserting a List<string> and List<Object> into Dictionary

我有一個List<string> keysList<Objects> obj的項目List<string> keys ,其中該對象有多個項目,而另一個對象,我們稱其為keyholder,其名稱與鍵的值相同。

List <string> key = {"a","b"}

List <Object> obj = object with items {name, id, IEnumerable<keyholder>}

keyholder has value name which can be the same with key.

我想創建一個

key.ToDictionary(e=>e, f=> obj.Where(obj.keyholder.Where(keyholder.name == key));

僅當keyholder.name與鍵具有相同的值時,我要將對象添加到字典中。

您的語法不正確。 Where以lambda函數為參數。

如果keyholder可以使用給定的密鑰存儲多個值,則可以將列表轉換為Dictionary<TKey, TValue[]>

key.ToDictionary(k => k, 
                 k => obj.keyholder.Where(x => x.name == key).ToArray());

它將返回一個包含key中所有項作為key的Dictionary ,以及obj.keyholder具有相應name的值數組。

請注意,您的obj.keyholder應該是List<TValue> ,其中TValue是具有name屬性的類型。 您不能將此函數應用於List<object>因為object沒有name屬性。

在你們的幫助下,我通過使用contains關鍵字解決了該問題,因為IEnumerable可以位於項目列表中

key.ToDictionary(k => k, 
                 k => obj.Where(g => g.keyholder.Contains(k)).ToList());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM