猿问

C#中的ArrayList与List<>

C#中的ArrayList与List<>

之间的区别是什么?ArrayListList<>在C#?

只是List<>有一种类型ArrayList不是吗?


Qyouu
浏览 862回答 3
3回答

梦里花落0921

使用List<T>您可以防止铸造错误。避免使用运行时铸造错误例子:这里(使用)ArrayList)可以编译此代码,但稍后会看到执行错误。ArrayList&nbsp;array1&nbsp;=&nbsp;new&nbsp;ArrayList();array1.Add(1);array1.Add("Pony");&nbsp;//No&nbsp;error&nbsp;at&nbsp;compile&nbsp;processint&nbsp;total&nbsp;=&nbsp;0;foreach&nbsp;(int&nbsp;num&nbsp;in&nbsp;array1){ &nbsp;total&nbsp;+=&nbsp;num;&nbsp;//-->Runtime&nbsp;Error}如果你用List,您可以避免以下错误:List<int>&nbsp;list1&nbsp;=&nbsp;new&nbsp;List<int>();list1.Add(1);//list1.Add("Pony");&nbsp;//<--&nbsp;Error&nbsp;at&nbsp;compile&nbsp;processint&nbsp;total&nbsp;=&nbsp;0;foreach&nbsp;(int&nbsp;num&nbsp;in&nbsp;list1&nbsp;){ &nbsp;total&nbsp;+=&nbsp;num;}参考资料:MSDN

梵蒂冈之花

以补充上述各点。使用ArrayList在64位操作系统中,内存比32位操作系统占用2x内存。同时,通用列表List<T>将使用比ArrayList.例如,如果我们使用ArrayList在32位的19 MB中,64位需要39 MB。但是如果你有一个通用列表List<int>在32位的8MB中,64位仅需8.1MB,这与ArrayList相比相差481%。资料来源:用于原语类型和64位的ArrayList与泛型列表
随时随地看视频慕课网APP
我要回答