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