我目前正在努力创建字典。我想创建它以便它可以在多种情况下使用。但是,这些情况因键和值类型而异。所以当你通常这样做时:
Dictionary<int, string> Something = new Dictionary<int, string>();
我想做这样的事情:
Dictionary<variable1, variable2> ..............
variable1 是什么并不重要。它可以是一个字符串,将“string”或“int”存储为值。我还可以使用 variable1.getType() 来确定类型。无论哪种方式都适合我。但是我上面做的方式,嗯,那是不正确的。必须有另一种方法来设置基于变量的键和值类型......对吧?
我突然想到,要使用 if 来检查类型是什么,并根据类型让字典使用该类型。但是随着类型的增多,将会有很多 if,我觉得必须有更好的方法。
搜索对我帮助不大。好吧,我学到了一些其他的东西,但没有解决我的问题。在每种情况下,字典 TKey
和 TValue
都是手动设置的。当我想设置它们时,我使用从某些来源获取的变量。
最佳答案
There must be another way to set the key and value type based on variables... right?
是的,有。您可以制作一个创建字典的辅助方法,例如:
public static Dictionary<K, V> CreateDictionaryFor<K, V>(K key, V value)
{
return new Dictionary<K, V>();
}
然后,您可以将它与 variable1
和 variable2
一起使用:
var dictionary = CreateDictionaryFor(variable1, variable2);
关于c# - 使用变量设置字典键和值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31373119/