Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
At this point in the text, you have learned a great deal about how to build custom class types using C#. Here, you will come to understand how the CLR is managing allocated objects via garbage collection. C# programmers never directly deallocate a managed object from memory (recall there is no delete keyword in the C# language). Rather, .NET objects are allocated onto a region of memory termed the managed heap, where they will be automatically destroyed by the garbage collector "sometime in the future."
Once you have examined the core details of the collection process, you will learn how to programmatically interact with the garbage collector using the System.GC class type. Next you examine how the virtual System.Object.Finalize() method and IDisposable interface can be used to build types that release internal unmanaged resources in a timely manner. By the time you have completed this chapter, you will have a solid understanding of how .NET objects are managed by the CLR.