.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或更高版本为目标,通常应该避免使用它们