C# School: 14 lessons to get you started with C# and .NET
by Faraz Rasheed
Number of pages: 338
The book is divided in to three progressive levels. In the first beginner stage the author discusses the .Net Framework, C# Language Fundamentals and Object Oriented Programming. In the second intermediate section he goes into depth with Object Oriented constructs such as inheritance, polymorphism, abstract classes, interfaces, structures, enumerations and exceptions. In the third and final advanced section he delves into what is required to implement real world applications using C# with Base Libraries, focusing on topics such as Collections, Delegates, Events and Windows Programming with a number of control, as well as Data Access with ADO.Net, Threads and Streams.
Download or read it online for free here:
by Rob Miles
These notes should help you convert a program from Java to C#. This is based on the author's original journey from Java to C#. If you are an experienced Java programmer who wants to find out what C# is all about you might find it useful.
by Charles Petzold
This book covers everything that the C or C++ programmer needs to know about C# and the .NET framework. Object-oriented programming concepts are approached from scratch. Some programming experience with a C-family language is expected.
The book provides everything necessary to gain proficiency as a C# programmer. It gives a detailed overview of the C# environment, the fundamentals of the C# programming language, manipulating strings, arrays and collection classes.
by Joseph Albahari
An extensive online book on multithreading in C#. This tackles difficult issues such as thread safety, when to use Abort, Wait Handles vs Wait and Pulse, the implications of Apartment Threading in Windows Forms, using Thread Pooling, etc.