.net b/w通用列表和Arraylist、通用列表与哈希表、通用列表与非通用列表的区别是什么?

.net b/w通用列表和Arraylist、通用列表与哈希表、通用列表与非通用列表的区别是什么?,.net,.net,两者的区别是什么 通用列表和数组列表 通用列表与哈希表 通用列表与非通用列表 基本上,泛型集合在编译时是类型安全的:您指定集合应该包含哪种类型的对象,并且类型系统将确保您只在其中放置那种类型的对象。此外,当你把物品拿出来时,你不需要扔掉它 例如,假设我们需要一组字符串。我们可以像这样使用ArrayList: ArrayList list = new ArrayList(); list.Add("hello"); list.Add(new Button()); // Oops! That's no

两者的区别是什么

  • 通用列表和数组列表
  • 通用列表与哈希表
  • 通用列表与非通用列表

  • 基本上,泛型集合在编译时是类型安全的:您指定集合应该包含哪种类型的对象,并且类型系统将确保您只在其中放置那种类型的对象。此外,当你把物品拿出来时,你不需要扔掉它

    例如,假设我们需要一组字符串。我们可以像这样使用
    ArrayList

    ArrayList list = new ArrayList();
    list.Add("hello");
    list.Add(new Button()); // Oops! That's not meant to be there...
    ...
    string firstEntry = (string) list[0];
    
    但是
    列表
    将防止无效条目并避免强制转换:

    List<string> list = new List<string>();
    list.Add("hello");
    list.Add(new Button()); // This won't compile
    ...
    // No need for a cast; guaranteed to be type-safe... although it
    // will still throw an exception if the list is empty
    string firstEntry = list[0];
    
    List List=新列表();
    添加(“你好”);
    list.Add(新建按钮());//这不会编译
    ...
    //不需要演员阵容;保证类型安全。。。虽然
    //如果列表为空,仍将引发异常
    字符串firstEntry=list[0];
    

    请注意,泛型集合只是泛型更通用功能的一个示例(尽管是最常用的一个),它允许您根据所处理的数据类型参数化类型或方法。

    ArrayList和HashTable类型包含在.Net 1.0中。它们或多或少相当于一个列表和一本词典

    它们的存在都是为了与在2.0中引入泛型之前在.Net 1.0或1.1中编写的代码保持兼容性,如果您以.Net 2.0或更高版本为目标,通常应该避免使用它们