与此问题类似:
Best way to convert Dictionary<string, string> into single aggregate String representation?
但是我想忽略Dictionary中的类型,因为我打算调用每个键和值的ToString()方法。
我认为这不应该是一个问题,但我无法弄清楚如何传入一个无类型的字典,只是把它作为对象...任何想法?
[编辑]添加工作代码段: 这有效 - 感谢twoflower
public string DumpDictionary<TKey, TElement>(IDictionary<TKey, TElement> dictionary)
{
StringBuilder sb = new StringBuilder();
foreach (var v in dictionary)
{
sb.AppendLine(v.Key.ToString() + ":" + v.Value.ToString());
}
return sb.ToString();
}
答案 0 :(得分:12)
怎么样只是
void DumpDictionary<TKey, TElement>(IDictionary<TKey, TElement> dictionary)
{
...
}
然后你可以在没有类型参数的情况下调用它,因为它们将被推断(在大多数情况下):
var dictionary = new Dictionary<long, MyClass>();
...
DumpDictionary(dictionary);