.NET Framework源码研究系列之---ArrayList与LinkedList
在上一篇< .NET Framework源码研究系列之---马甲List >中我们一起研究了.NET中List的源代码,也得到一些兄弟的热心反馈.其中一位仁兄说希望看到ArrayList与LinkedList源代码,所以今天就以此为话题,大家一起看一下.NET中是如何实现ArrayList和LinkedList的. 我们先看ArrayList和LinkedList在.NET中的位置, ArrayList的命名空间是System.Collections,LinkedList的命名空间是System.Collections.Generic ,这么看来二者同属于集合类,只不过LinkedList在一个分支种.然而,稍对.NET的源码分析后,我们会发现二者有着明显的区别,甚至可以说有质的不同.有这些不同不是因为二者功能的不同,而是微软对它们的定位不同.在.NET源码物理结构中, ArrayList所在目录是"redbits\ndp\ clr\src\BCL\ System\Collections",LinkedList所在目录是"redbits\ndp\ fx\src\CompMod\ System\Collections\Generic" .由此可知, ArrayList属于CLR级别的,LinkedList仅仅是额外的扩展 .所以说二者其实没有比对的意义.