2010-08-04 65 views
4

我有以下代碼LINQ和字典和轉換數組值

IDictionary<string, IEnumerable<Control>> 

我需要使用客戶端ID作爲新的值,以將其轉換爲

IDictionary<string, IEnumerable<string>> 

有沒有人知道如何在Linq中做到這一點,而不是遍歷字典?

感謝

波奇

+0

要獲得所有的ClientID的字典中的值,*東西的*將不得不遍歷它! – 2010-08-04 08:41:41

回答

4

不需要手動編譯器,這樣的事情應該工作...

dictOne 
    .ToDictionary(k=>k.Key, v=>v.Value.Select(c=>c.ClientID)) 
+0

非常感謝。 我看不到樹木。我在想我將不得不使用SelectMany。 – Podge 2010-08-04 08:56:16

6

喜歡的東西

IDictionary<string, IEnumerable<Control>> input = ... 
IDictionary<string, IEnumerable<string>> output = 
    input.ToDictionary(item => item.Key, 
         item => item.Value.Select(control => control.ClientID));