2012-01-02 133 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 }); 
相关问题