Questions about the literature on various programming languages ​​arise very often. Here we will try to collect the best answers and recommendations about literature and other educational resources on the C # language, the platform and popular libraries.

Do not forget, however, that no theory can replace the programming experience! Read, try, practice. Ask if it is not clear. Try to program your project, this is the best way.


This list is part of the Community Supported Programming Learning Resources on Programming .

Blocked by a member PashaPash Jan 15 '16 at 10:36 .

The answers to this question are given by joint efforts: if you think that something can be improved, just make corrections in response! You cannot add new answers here .

Read more about blocked messages here .

1 answer 1

C # Language Literature

Books for beginners: what is it all about?

  • Head First C # , Jennifer Greene, Andrew Stellman (Russian translation: Learning C # , D. Green, E. Stillman). Contains exercise. Recommended by many as a good book for newbies.
  • C # 6.0 and the .NET 4.6 Framework (7th Edition), Andrew Troelsen, Philip Japikse (Russian translation of the previous edition: C # 5.0 programming language and the .NET 4.5 platform , Andrew Troelsen). A good popular book, many started with it.
  • C # 4.0: complete guide , Herbert Shildt. Despite the ambiguous attitude to the author, the book is popular.
  • C # 2010. Accelerated Professional Course , Nash Trey

Intermediate books: if hello world is not a problem

  • CLR via C #. Programming on the Microsoft .NET Framework 4.5 in C # , Jeffrey Richter. Unfading classic. Want to know what really happens and how? This is a book for you. Not the liveliest presentation, sometimes boring, but the maximum details first hand.
    Warning: The Russian translation from Peter is terrible: you are waiting for discarded paragraphs, typos and mistakes that change the meaning of the text to the opposite. If possible, read the English original.

  • C # 7.0 in a Nutshell: The Definitive Reference , Joseph Albahari, Ben Albahari (Russian translation of the previous edition: C # 6.0. Reference. Full description of the language , Joseph Albahari, Ben Albahari). Excellent book, touches on many aspects, puts your knowledge of the subject in places. It reduces fragmented fragmentary knowledge into a generally understandable picture, explains what means should be used, and for which there are already better approaches. There is an online chapter on multithreading , read!

  • Essential C # 6.0 , Mark Michaelis, in collaboration with Eric Lippert. A good book for programmers who want to master C #. Knowledge of other languages, before reading, are welcome. From Eric Lippert in the book presents advanced tips that are found throughout the book.

  • Effective C # and More Effective C # , Bill Wagner. How it is necessary and how it is not necessary to program on C #. Separate individual aspects of programming, contributes to a deeper understanding of the language.

  • Programming C # 5.0: Building Windows 8, Web, and Desktop Applications for the .NET 4.5 Framework , Ian Griffiths (Russian translation: C # 5.0 Programming , Ian Griffiths). Very detailed, detailed book in which you will find answers to advanced questions.

Books for specialists: internal mechanisms and dusty corners

  • C # in Depth , Jon Skeet, Third Edition (Russian translation: C # for professionals. Programming Subtleties , John Skit, Third Edition). The name of the author speaks for itself . John is one of the best people who can clearly explain complex things.

  • C # 5 Unleashed , Bart de Smet. The fundamental book.

  • Debugging Microsoft .NET 2.0 Applications , John Robbins (Russian translation: Debugging applications for Microsoft .NET , John Robbins). Basics of industrial debugging: WinDbg / SOS, memory dumps and problem solving in applications (almost) without Visual Studio.

  • Under the Hood of .NET Memory Management , Chris Farrell, Nick Harrison. A complete description of all the subtleties of memory management in the .NET platform. The book is available free of charge in English.

  • Expert .NET 2.0 IL Assembler , Serge Lidin. The book provides information on almost all the intricacies of low-level programming on .NET, namely in IL. The book describes the details of the .NET Framework 2.0, so at this point some aspects may be irrelevant.

  • Optimization of applications on the .NET platform using the C # language , Sasha Goldstein, Dima Zurbalev, Ido Flatov (Translator: Alexander Kiselev). The book deals with .NET moments in terms of performance. It describes the measurement methods and optimization patterns. It also addresses issues related to GC and insecure code. (Sasha Goldstein is a recognized expert in this field.)

Additional resources:


Asynchronous Programming and Multithreading Literature

  • Concurrent Programming on Windows , Joe Duffy. Professional use of multithreading in the .NET infrastructure from one of the world's best experts in multithreading. The book describes the intricacies of using both stream'ov and thread'ov. It is disclosed how and when to use Concurrent, Parallel and Asynchronous models. Examples in the book are present from fairly low-level (using system threads through WinAPI) to high-level Task'ov and PLINQ. The book is written under the .NET Framework 4.0, so the work with the async / await keywords was not included in the book.

  • Concurrency in C # Cookbook , Stephen Cleary. (There is no Russian translation yet.) A very sensible explanation of modern patterns of using multithreading, special attention is paid to using the async / await construction. The solution of typical problems solved by asynchronous code is discussed. Separately, work with Reactive Extensions and TPL Dataflow is described.


WPF Literature

  • Pro WPF 4.5 in C #: Windows Presentation Foundation in .NET 4.5 , Matthew MacDonald (Russian translation: WPF: Windows Presentation Foundation in .NET 4.5 with examples in C # 5.0 for professionals , Matthew MacDonald). Analysis of XAML'a, concise, but useful examples. Close, but not intrusive attention to detail.

  • Windows Presentation Foundation Unleashed , Adam Nathan. Probably the best book for a beginner.

  • Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation , Charles Petzold. The fundamental book of the magnificent specialist. Written quite hard, many listings, dense information flow


ASP.NET Literature

  • Pro ASP.NET MVC 5 , Adam Freeman (Russian translation: ASP.NET MVC 5 with examples in C # 5.0 for professionals , Adam Freeman). Step-by-step writing of a web application with consideration of the most important aspects of application development: MVC pattern, unit testing, dependency inversion, etc.
  • Pro ASP.NET 4.5 in C # , Adam Freeman (Russian translation: ASP.NET 4.5 with examples in C # 5.0 for professionals , Adam Freeman).
  • Professional ASP.NET MVC 5 , Jon Galloway, Phil Haack, Brad Wilson, K. Scott Allen
  • Programming ASP.NET MVC 4: Developing Real-World Web Applications with ASP.NET MVC , Jess Chadwick, Todd Snyder, Hrusikesh Panda (Russian translation: ASP.NET MVC 4. Developing real web applications using ASP.NET MVC , Jess Chadwick, Hrishikesh Panda, Todd Snyder).
  • ASP.NET MVC Framework , Gaidar Magdanurov, Vladimir Yunev
  • Pro ASP.NET MVC 2 Framework , Steven Sanderson (Russian translation: ASP.NET MVC Framework with examples in C # for professionals , Steven Sanderson)

Additional resources:


LINQ Literature

  • Pro LINQ: Language Integrated Query in C # 2010 , Joseph Rattz, Adam Freeman (Russian translation: LINQ. Integrated Query Language in C # 2010 for Professionals , Adam Freeman, Joseph S. Ratz). A study guide in which the capabilities of the LINQ language are clearly and in detail described. Good for starting.
  • LINQ Pocket Reference , Joseph Albahari, Ben Albahari (Russian translation: LINQ. Pocket Reference , Joseph Albahari, Ben Albahari). A good reference for everything related to LINQ. Considered new C # constructs to support LINQ. Many examples.
  • C # in Depth , Jon Skeet (Russian translation: C #. Programming for professionals , John Skit). A large part of the book is about how LINQ works.

Literature on principles, patterns and methods of development

  • Microsoft's Guide to Designing Application Architecture, 2nd Edition System Work, in which you will constantly find references to certain books, patterns, and architectural techniques.
  • Dependency injection in .NET , Mark Siman. A simple written book about dependency management in applications.
  • Principles, Patterns, and Techniques for Agile Development in C # , Robert S. Martin, Mika Martin

Windows Workflow Foundation Literature

  • Essential Windows Workflow Foundation , Dharma Shukla, Bob Schmidt (Russian translation: Basics of Windows Workflow Foundation , Dharma Shukla, Bob Schmidt). For those who are interested in Chapter 26 (“Introduction to Windows Workflow Foundation”) from the book by Andrew Troelsen The C # 5.0 Programming Language and .NET 4.5 Platform .
  • Pro WF 4.5 , Bayer White (Russian version not). A more in-depth look at the WF.

XML Literature

  • XML.NET , Joe Gray, Dinard Dalvey, Bipin Joshi, Fredrik Norman, Francis Norton, Andy Olsen, J. Michael Palermo IV, Darshan Singh, John Slater, Kevin Williams (Translator: I. Shterev). The book contains all about the use of XML in. NET except LINQ. A bit old already, but there is an explanation of how to implement its functions in C # in XSLT.

ADO.NET Literature

  • The basics of ADO.NET , Bob Boschemin (Translators: OA Leshchinsky, AV Zhuravlev, NN Selina)

.NET Remoting / WCF Literature

  • Microsoft .NET Remoting , Scott Macklin, James Naphtel, Kim Williams
  • Creation of WCF services , Juvel Leve (Translators: E. Matveev, A. Pasechnik)
  • Basics of windows communication foundation , Steve Resnick, Richard Crane, Chris Bowen

Safety literature

  • Cryptography and security in the .NET technology , Peter Thorsteinson, Gnana Ganesh (Translator: V. Khorev). The book gives a presentation of .NET to the developer about the implementation and application of cryptography, digital signature, authentication, authorization and code access (CAS). It describes what symmetric and asymmetric encryption is, what digital signatures are, and how to use them in .NET applications.
  • Microsoft ASP.NET. Security , Dominic Beyer. Despite the fact that the title indicates ASP.NET, the book discusses security technologies under Windows that are applicable from .NET to all types of applications. These are authentication, authorization, impersonation and membership.

Entity Framework Books and Tutorials

Unfortunately, there are still no books in Russian, so only the following materials can be recommended in Russian:

  • five
    Hm I would put Richter in the middle-level books, Skitt with Albachi moved into books for specialists, and for de Smett I selected a separate category. Well, or the first three in one section. But certainly, Skyt with Albahari is not a mid-level book, in my opinion. The skete will be much more hardcore than Richter. - andreycha
  • one
    @andreycha This is a general question, you can easily make your improvements. - Nicolas Chabanovsky
  • 2
    @andreycha: The list is shared, so improve! - VladD
  • 2
    @SoulMicro: Here: ru.stackoverflow.com/q/474415/10105 . But the general table: ru.stackoverflow.com/a/454684/10105 - VladD
  • five
    I have almost all of the above, which is nice, of course :) I can also add a good design book: "Design Patterns on the .NET platform" by Sergey Teplyakov. - GRUNGER