如何将泛型集合限制为C#中的特定类型?

如何将泛型集合限制为C#中的特定类型?,c#,collections,types,generic-collections,C#,Collections,Types,Generic Collections,我可以定义一个arraylistprivate arraylist keyBuffer=new arraylist()很好,编译器没有问题。但只要我试图将其约束到所需的数据类型,即,private ArrayList keyBuffer=new ArrayList(),它将点亮ArrayList部分,并显示错误“名称'ArrayList'在当前上下文中不存在” 使用泛型集合结构List而不是ArrayList可以进行类型限制,如顶部帖子上的注释所述。。这是从Java过渡到C语言的程序员面临的一个

我可以定义一个arraylist
private arraylist keyBuffer=new arraylist()很好,编译器没有问题。但只要我试图将其约束到所需的数据类型,即,
private ArrayList keyBuffer=new ArrayList()
,它将点亮
ArrayList
部分,并显示错误“名称'ArrayList'在当前上下文中不存在”

使用泛型集合结构
List
而不是
ArrayList
可以进行类型限制,如顶部帖子上的注释所述。。这是从Java过渡到C语言的程序员面临的一个常见问题。

C
ArrayList
不是泛型的。。。使用
List
。你的意思是
List
,而不是
ArrayList
-很确定
System.Collections.generic
中没有通用数组列表,正如zerkms指出的那样。我使用的是
System.Collections.generic
。我不明白为什么它不起作用。@Maurdekye-因为没有
ArrayList
。不存在。您需要改用
列表
。ArrayList位于
系统.Collections
中,但不在
系统.Collections.Generic
下。右键单击它并选择“Goto Definition”(或按F12键),您将看到它所在的名称空间。没什么问题-只需阅读文档即可。不要假设.NET中的类与等效的Java类具有相同的名称。