2012-01-02 131 views
2

我有兩個方法,做同樣的事情,一個工程有Dictionary<object, List<string>>,另一個用Dictionary<object, string>做同樣的事情,但迭代或不在列表中。如何將詞典<對象,字符串>變換到詞典<對象,列出<string>>與LINQ

我想減少代碼重複,只是使用Dictionary<object, List<string>>的方法,並將Dictionary<object, string>變換爲Dictionary<object, List<string>>與只有一個字符串的列表。

如何優先使用LINQ進行轉換?

在此先感謝。

+1

我想你想*轉換*或*變換*,*不*投。 – jv42 2012-01-02 14:35:20

+0

同意,這就是我的意思 – 2012-01-02 14:39:28

回答

13

那麼你不能字典這種方式,但你可以使用:

var newDictionary = oldDictionary.ToDictionary(
             pair => pair.Key, 
             pair => new List<string> { pair.Value }); 
+0

這就是我的意思。謝謝。 – 2012-01-02 14:29:53

+0

@ jv42:當然,但您需要等上一段時間才能在SO中接受問題。我在這裏已經有一段時間了:) – 2012-01-02 14:45:09

+0

@SoMoS:這是我的一個半自動帖子,當一個人沒有很好的接受率會得到一個很好的答案。對不起,光顧;) – jv42 2012-01-02 14:49:27

1
var newDict = oldDict.ToDictionary(x => x.Key, x => new List<string> { x.Value }); 
相關問題