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

//where MyClass has an override for ToString()

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

有没有简单的方法可以做到这一点?我如何在IDictionary.ToList<>()那里使用该功能?请指教..

4

2 回答 2

6

未经测试/编译,但类似的东西应该可以工作:

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

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

于 2013-06-05T20:21:33.693 回答
2

使用 LINQ:

var list = dict.Select(k => 
  new KeyValuePair<string,string>(k.Key, k.Value.ToString()))
  .ToList();
于 2013-06-05T20:22:35.273 回答