gpt4 book ai didi

c# - 我可以使用泛型作为 key 吗?

转载 作者:太空狗 更新时间:2023-10-29 23:22:38 26 4
gpt4 key购买 nike

我可以创建一个字典,其中键的类型是通用的吗?

例如

void addKey<T>( object value )
{
dic.add( T, value );
}

最佳答案

怎么样?

void AddKey<T>(T value)
{
dic.Add(typeof(T), value );
}

用法:

// the type of value is automatically detected based on usage
AddKey("sampleString");

你当然可以传递类型明确性:

AddKey<BaseClass>(derriveredInstance);

那么,字典的类型是Dictionary<Type, object>

缺点:您不能将其他(不是基类或不同的)类的实例作为键传递:

AddKey<int>("some string"); // compile time error

如果你想实现这样的目标,你应该看看其他答案并通过 Type或通过 object作为值的类型。

关于c# - 我可以使用泛型作为 key 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24838190/

26 4 0
文章推荐: c# - 如何在webapi上传中获取多部分文件的流?
文章推荐: c++ - 如何在 C/C++ 中读取未知维度的数据文件
文章推荐: c++ - 即使有虚函数也不需要虚析构函数,为什么?
文章推荐: c# - 删除 List 的重复对