This chapter covers the core concepts of C# and .NET, starting from the initial version and principal motivations behind its creation, and covering also the new aspects of the language, that appeared in versions 2.0 and 3.0.
We'll illustrate all the main concepts with small code snippets, short enough to facilitate its understanding and easy reproduction.
In this chapter, we will cover the following topics:
C# and its role in the Microsoft Development ecosystem
Difference between strongly typed and weakly typed languages
The evolution in versions 2.0 and 3.0
Generics
Lambda expressions
LINQ
Extension methods