This chapter has covered a lot of ground, briefly reviewing important aspects of the .NET Framework and C#’s relationship to it. It started by discussing how all languages that target .NET are compiled into Microsoft Intermediate Language (IL) before this is compiled and executed by the Common Language Runtime (CLR). This chapter also discussed the roles of the following features of .NET in the compilation and execution process:
Assemblies and .NET base classes
COM components
JIT compilation
Application domains
Garbage collection
Figure 1-4 provides an overview of how these features come into play during compilation and execution.
Figure 1-4
You learned about the characteristics of IL, particularly its strong data typing and object orientation, and how these characteristics influence the languages that target .NET, including C#. You also learned how the strongly typed nature of IL enables language interoperability, as well as CLR services such as garbage collection and security.
Finally, you learned how C# can be used as the basis for applications that are built on several .NET technologies, including ASP.NET.
Chapter 2 discusses how to write code in C#.