创建一个带有字典参数的方法,其中TKey和TValue类型是不确定的

时间:2018-04-12 18:14:34

标签: c# dictionary types

想知道是否可能有一个带有字典参数的方法,其中TKey和TValue类型是不确定的。例如,我可能想要将int的键和值作为自定义对象,或者字符串的键和不同对象的值发送。

这可以通过通用对象完成,是重载的最佳实践,还是我还没有找到另一种方法?

public static SortedDictionary<??, ??> CreateSortedDictionary(Dictionary<??, ??> d)
{
    SortedDictionary<??, ??> rv = new SortedDictionary<??, ??>();

    enter code here...

    return rv;
}

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以对键和值使用泛型类型,然后可以将其用于输入和输出词典:

public static SortedDictionary<TKey, TValue> CreateSortedDictionary<TKey, TValue>(
    Dictionary<TKey, TValue> input)
{
    return new SortedDictionary<TKey, TValue>(input);
}