我想了解.NET中通用集合的底层实现细节。我的意思是,这些集合是如何存储的,CLR如何访问集合中的每个成员等等细节。
对于类似于传统数据结构的集合,例如LinkedList和Dictionary,我认为我已经理解了底层的运行原理。然而,对于像List(如何设置使其既可索引又可扩展?)和SortedList这样的集合,我并不确定,因此任何关于如何学习更多相关知识的指导都将不胜感激。
我想了解.NET中通用集合的底层实现细节。我的意思是,这些集合是如何存储的,CLR如何访问集合中的每个成员等等细节。
对于类似于传统数据结构的集合,例如LinkedList和Dictionary,我认为我已经理解了底层的运行原理。然而,对于像List(如何设置使其既可索引又可扩展?)和SortedList这样的集合,我并不确定,因此任何关于如何学习更多相关知识的指导都将不胜感激。
看一下Reflector。使用它,您可以打开BCL中的任何类并查看其内部以及它是如何实现的。这是学习代码的惊人方式。
否则,您可以在“选项”调试对话框中设置Visual Studio以步入.NET代码,并在调试过程中步入任何集合。