Dictionary <string,myclass =“”> to List <keyvaluepair <string,string =“”>&gt;其中KeyValuePair中的值为MyClass.ToString()</keyvaluepair <string,> </string,>

时间:2013-06-05 20:18:34

标签: c# list dictionary

Dictionary<string, MyClass> dict = new Dictionary<string, MyClass>();

//where MyClass has an override for ToString()

现在如何从dict获得List<KeyValuePair<string, string>>,其中KeyValuePair中的值MyClass.ToString()和KeyValuePair中的Key与dict的相同...?

有一种简单的方法吗?如何在那里使用IDictionary.ToList<>()功能? Plz启发..

2 个答案:

答案 0 :(得分:6)

未经测试/编译,但类似的东西应该有效:

dict.Select(kvp => new KeyValuePair<string, string>(kvp.Key, kvp.Value.ToString())).ToList()

如果语法不是100%现货,我希望你明白了。

答案 1 :(得分:2)

使用LINQ:

var list = dict.Select(k => 
  new KeyValuePair<string,string>(k.Key, k.Value.ToString()))
  .ToList();