有没有办法以这种方式创建列表?
List<string,KeyValuePair<string,T>> lst;
答案 0 :(得分:4)
首先,List<T>
只接受一个通用参数,因此您无法指定 string
和 KeyValuePair<string, T>
。正如所指出的,也许你的意思是Dictionary<K, V>
?
通常,具有T
参数的代码只有在通用方法或类本身接受名为T
的类型参数的类中才有可能。
如果您希望能够在列表中存储不同的元素(即T
的各种类型);这是不可能的。想象一下,如果每个项目都有不同的T
,那么T
首先输入的优势是什么?您无法对值进行任何假设,因为它们的类型将是未知的。因此,您所能做的就是指定您的值可能属于的所有类型的最具体的公共基类型 - 可能是System.Object
,如果它们实际上不共享任何其他共同特征。
答案 1 :(得分:1)
也许:
Dictionary<String, Dictionary<String, T>> lst;