C# — объектно-ориентированный язык программирования, созданный в 1998–2001 годах компанией Microsoft как язык разработки приложений для платформы Microsoft .NET Framework. Он совмещает в себе силу и гибкость C++ с простотой Visual Basic.
C#, конечно же, уступает по популярности таким языкам, как C, Java, C++ и PHP, но, несмотря на это, он используется довольно часто. Ниже вы найдёте подборку книг, которые помогут вам в изучении этого языка программирования.
C# Programming Yellow Book

Эта книга — пособие для первокурсников на факультете компьютерных наук университета Халла. Вотрассматриваемые темы:
- Компьютеры и программы. Вы узнаете, что такое компьютер, как работают программы и как их писать. В конце раздела начнётся знакомство с самим C#.
- Обработка данных. В этой главе разбирается написание простой программы.
- Создание программ. Вы научитесь разбивать программы на отдельные части и использовать массивы.
- Создание решений. Здесь рассматривается процесс создания сложного проекта.
- Продвинутое программирование. Заканчивается книга разбором более сложных и мощных возможностей C#.
Fundamentals of Computer Programming with C#

Данная книга предназначена для новичков. Она учит вас мыслить как программист, а C# в данном случае — просто инструмент, который можно заменить на Java, C++, PHP или Python. Это книга о программировании, а не о C#.
Она была написана командой болгарских разработчиков, затем её перевели на английский.
C# Programming

Эта книга подробно описывает возможности языка C#. Рассматриваются основы языка, классы, продвинутые концепции, фреймворк .NET и ключевые слова.
В изучении C# вам также поможет этот русскоязычный видеокурс.
Creating Mobile Apps with Xamarin.Forms

Эта книга рассказывает о создании кроссплатформенных мобильных приложений при помощи Xamarin.Forms. Рассматриваются такие темы, как анимация, MVVM, триггеры, поведения, макеты и рендеры.
The Daily Design Pattern

В этой книге вы найдете подробный анализ 22 популярных паттернов проектирования и их реализации на C#.
Также советуем обратить внимание на серию видеоуроковпо этой же теме.
Threading in C#

Это подробное руководство познакомит вас с возможностями работы с потоками в C#. Кстати, доступна и версия на русском языке.
Introduction to programming and the C# language

Эта книга — практическое введение в C#. В ней на простых примерах объясняются все основные концепции ООП. Цель книги — научить вас разрабатывать полноценные приложения и помочь выбрать дальнейшее направление развития.
Кстати, для изучения ООП вам может пригодиться и этот русскоязычный видеокурс.
Object Oriented Programming using C#

В этой книге при помощи небольших упражнений объясняется объектно-ориентированный подход к программированию. Кульминацией является написание большой программы. Затрагиваются следующие темы:
- абстракция;
- наследование;
- полиморфизм;
- ООП;
- UML;
- agile;
- разработка через тестирование.
Object-Oriented Programming in C# Succinctly

Эта книга познакомит вас с основами объектно-ориентированного программирования. В ней достаточно как теории, так и практических примеров. Вот разделы книги:
- Три столпа ООП.
- Интерфейсы.
- SOLID.
- Шаблоны проектирования.
- Шаблоны GRASP.
- Архитектура.
- Другие парадигмы.
C# Code Contracts Succinctly

Контрактное программирование — это метод проектирования ПО, предполагающий, что проектировщик должен определить формальные, точные и верифицируемые спецификации интерфейсов для компонентов системы. В C# такой подход реализуется при помощи библиотеки Code Contracts, об использовании которой и рассказывает эта книга. Вот её оглавление:
- Вступление.
- Использование контрактов для кода.
- Полезные советы.
- Тестирование контрактов для кода.
- Расширения контрактов для кода.
- Заключение.
- Полезные ресурсы.
Data Capture and Extraction with C# Succinctly

Обнаружение и извлечение информации — это одна из самых сложных задач, поэтому для её решения стоит пользоваться специальными инструментами. Эта книгарасскажет вам, как извлекать данные из электронных писем, скриншотов, сайтов и текстов при помощи языка C#.
По материалам OSS Blog
