C# in Depth: book notes
codewithstyle.info
codewithstyle.info
Interestingly, additionally to explaning the concepts of C#, Skeet also discusses the language versions the various parts got implemented in, which gives the reader a nice overview of the language's evolution. This is especially useful since it's easy to find old code or even .NET APIs and get puzzled by their "strange" implementations, which are usually perfectly well explained by the limitations of earlier C# versions (missing generics, for example).