Dictionary to List <KeyValuePair >其中KeyValuePair中的值为MyClass.ToString()

Dictionary dict = new Dictionary(); //where MyClass has an override for ToString() 

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

有一个简单的方法吗? 我怎么能在那里使用IDictionary.ToList()函数? Plz启发..

没有测试/编译,但这样的东西应该工作:

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

如果语法不是100%现货,我希望你有这个想法。

使用LINQ:

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