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启发..
答案 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();