Ответы на этот вопрос были написаны совместными усилиями сообщества. Для улучшения этого сообщения отредактируйте существующие ответы. Публикация новых ответов и другие действия для него недоступны.
Вопросы о литературе по различным языкам программирования возникают очень часто. Здесь мы попробуем собрать лучшие ответы и рекомендации насчёт литературы и других учебных ресурсов по языку C#, платформе и популярным библиотекам. Не забывайте, однако, что никакая теория не заменит опыта программирования! Читайте, пробуйте, тренируйтесь. Спрашивайте, если непонятно. Попробуйте запрограммировать свой проект, это лучший путь.
Данный перечень входит в поддерживаемый сообществом Сборник учебных ресурсов по программированию.
Ответ Литература по языку C# Книги для новичков: а о чём это вообще? Head First C#, Jennifer Greene, Andrew Stellman (русский перевод: Изучаем C#, Д. Грин, Э. Стиллмен). Содержит упражнения. Рекомендуется многими как хорошая книга для новичков. Pro C# 10 with .NET 6 (11th Edition), Andrew Troelsen, Phil Japikse (русский перевод предыдущего издания: Язык программирования C# 9 и платформа .NET 5, Эндрю Троелсен). Хорошая популярная книга, многие начинали с неё. C# 4.0: полное руководство, Герберт Шилдт. Несмотря на неоднозначное отношение к автору, книга пользуется популярностью. C# 2010. Ускоренный курс для профессионалов, Нэш Трей C# - Заметки для профессионалов - Свободно-распространяемая электронная книга. Эта книга составлена участниками Stack Overflow на основе проекта документации Stack Overflow. Книги среднего уровня: если hello world не проблема CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#, Джеффри Рихтер. Неувядающая классика. Хотите знать, что и как происходит на самом деле? Это книжка для вас. Не самое живое изложение, местами скучновата, зато максимум подробностей из первых рук. Предупреждение: Русский перевод от «Питер» ужасен: вас ждут выброшенные абзацы, опечатки и ляпы, меняющие смысл текста на противоположный. По возможности, читайте английский оригинал. C# 7.0 in a Nutshell: The Definitive Reference, Joseph Albahari, Ben Albahari (русский перевод предыдущего издания: C# 6.0. Справочник. Полное описание языка, Джозеф Албахари, Бен Албахари). Отличная книга, затрагивает многие аспекты, расставляет по местам ваши знания о предмете. Сводит разрозненные отрывочные знания в общую понятную картину, объясняет, какими средствами нужно пользоваться, а для чего есть уже более хорошие подходы. Есть online-глава о многопоточности, почитайте! русский перевод главы о многопоточности: часть 1, часть 2, часть 3, часть 4, часть 5.1, часть 5.2 Более новое издание в русском переводе (есть в pdf в Интернете): Джозеф Албахари. С# 9.0 Справочник. Полное описание языка. Диалектика: Москва • Санкт-Петербург, 2021.
Essential C# 6.0, Mark Michaelis в сооавторстве с Эриком Липпертом. Хорошая книга для программистов, желающих овладеть C#. Знания других языков, перед чтением, приветствуются. От Эрика Липперта в книге представлены продвинутые советы, которые встречаются на протяжении всей книги. Effective C# и More Effective C#, Bill Wagner. О том, как надо и как не надо программировать на C#. Разбираются отдельные аспекты программирования, способствует углублению понимания языка. Programming C# 5.0: Building Windows 8, Web, and Desktop Applications for the .NET 4.5 Framework, Ian Griffiths (русский перевод : Программирование на C# 5.0, Иэн Гриффитс). Очень детальная, подробная книга, в которой найдутся ответы на продвинутые вопросы.
Книги для специалистов: внутренние механизмы и пыльные углы C# in Depth, Jon Skeet, Third Edition (русский перевод: C# для профессионалов. Тонкости программирования, Джон Скит, Третье издание). Имя автора говорит само за себя. Джон один из лучших людей, которые умеют доходчиво объяснять сложные вещи. C# 5 Unleashed, Барт де Смет. Фундаментальная книга. Debugging Microsoft .NET 2.0 Applications, John Robbins (русский перевод: Отладка приложений для Microsoft .NET, Джон Роббинс). Основы промышленной отладки: WinDbg/SOS, дампы памяти и решение проблем в приложениях (почти) без Visual Studio. Under the Hood of .NET Memory Management, Chris Farrell, Nick Harrison. Полное описание всех тонкостей управления памятью в платформе .NET. Книга доступна бесплатно на английском. Expert .NET 2.0 IL Assembler, Serge Lidin. В книге представлена информация о почти всех тонкостях низкоуровневого программирования на .NET, а именно на языке IL. В книге описаны детали .NET Framework 2.0, по этому на данный момент какие-то аспекты могут быть неактуальны. Оптимизация приложений на платформе .NET с использованием языка C#, Саша Голдштейн, Дима Зурбалев, Идо Флатов (Переводчик: Александр Киселев). В книге рассматривается моменты .NET с точки зрения производительности. Рассказывается об способах замеров и шаблонах оптимизации. Также там рассматриваются вопросы, связанные с GC и небезопасным кодом. (Саша Голдштейн — признанный эксперт в этой области.)
Документация Microsoft и другие ресурсы Документация .NET Документация C# Официальная спецификация C# 5 и текущий черновик официальной спецификации C# 6 Framework Design Guidelines. Руководства и соглашения по проектированию многократно используемого кода. Является выдержкой из одноимённой книги, Krzysztof Cwalina, Brad Abrams. Книга переведена на русский под названием Инфраструктура программных проектов, Кржиштоф Цвалина, Брэд Абрамс.
C# и .NET онлайн Проверить код 1 Проверить код 2
Литература по асинхронному программированию и многопоточности Concurrent Programming on Windows, Joe Duffy. Профессиональное использование многопоточности в инфраструктуре .NET от одного из лучших мировых специалистов по многопоточности. В книги описаны тонкости использования как stream'oв так и thread'ов. Раскрыто, как и когда использовать Concurrent-, Parallel- и Asynchronous-модели. Примеры в книге присутствуют от достаточно низкоуровневых (с использованием системных потоков через WinAPI) до высокоуровневых Task'ов и PLINQ. Книга написана под .NET Framework 4.0, поэтому работа с ключевыми словами async/await в книгу не вошла. Concurrency in C# Cookbook, Stephen Cleary. (Русского перевода пока нет.) Очень толковое разъяснение современных паттернов использования многопоточности, особое внимание уделено использованию конструкции async/await. Обсуждается решение типичных проблем, решаемых асинхронным кодом. Отдельно описывается работа с Reactive Extensions и TPL Dataflow. Конкурентность и параллелизм на платформе .NET. Паттерны эффективного проектирования. Террелл Рикардо. Книга содержит примеры на языках C# и F#, описывает паттерны проектирования конкурентных и параллельных программ как в теории, так и на практике.
Литература по WPF Pro WPF 4.5 in C#: Windows Presentation Foundation in .NET 4.5, Matthew MacDonald (русский перевод: WPF: Windows Presentation Foundation в .NET 4.5 с примерами на C# 5.0 для профессионалов, Мэтью Макдональд). Разбор XAML'а, лаконичные, но полезные примеры. Пристальное, но не навязчивое внимание к деталям. Windows Presentation Foundation Unleashed, Adam Nathan. Наверное, лучшая книга для новичка. Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation, Чарльз Петцольд. Фундаментальная книга великолепного специалиста. Написана довольно тяжело, много листингов, плотный поток информации
Литература по ASP.NET ASP.NET CORE in action, Andrew Lock (русский перевод: ASP.NET CORE в действии, Эндрю Лок). Исчерпывающее руководство по созданию веб-приложений с помощью ASP.NET Core 5.0. Переходите от базовых концепций HTTP к расширенной настройке фреймворка. Иллюстрации и код с аннотациями делают процесс обучения наглядным и легким. Освойте вопросы, касающиеся входа в приложение, внедрения зависимостей, безопасности и узнайте о новейших функциях ASP.NET Core, включая Razor Pages и новую парадигму хостинга. Pro ASP.NET MVC 5, Adam Freeman (русский перевод: ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов, Адам Фримен). Поэтапное написание веб-приложения с рассмотрением большинства важных аспектов разработки приложения: паттерн MVC, юнит-тестирование, инверсия зависимостей и т. п. Pro ASP.NET 4.5 in C#, Adam Freeman (русский перевод: ASP.NET 4.5 с примерами на C# 5.0 для профессионалов, Адам Фримен). 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 (русский перевод: ASP.NET MVC 4. Разработка реальных веб-приложений с помощью ASP.NET MVC, Джесс Чедвик, Хришикеш Панда, Тодд Снайдер). ASP.NET MVC Framework, Гайдар Магдануров, Владимир Юнев Pro ASP.NET MVC 2 Framework, Steven Sanderson (русский перевод: ASP.NET MVC Framework с примерами на C# для профессионалов, Стивен Сандерсон) Дополнительные ресурсы: Get Started with ASP.NET от Microsoft Видеокурсы на intuit.ru: Разработка веб-приложений на ASP.NET, Разработка веб-приложений с использованием ASP.NET MVC Framework. Документация по ASP.NET Core и ASP.NET Core MVC
Литература по LINQ Pro LINQ: Language Integrated Query in C# 2010, Joseph Rattz, Adam Freeman (русский перевод: LINQ. Язык интегрированных запросов в C# 2010 для профессионалов, Адам Фримен, Джозеф С. Раттц). Учебно-справочное пособие, в котором понятно и подробно описаны возможности языка LINQ. Хороша для старта. LINQ Pocket Reference, Joseph Albahari, Ben Albahari (русский перевод: LINQ. Карманный справочник, Джозеф Албахари, Бен Албахари). Хороший справочник по всему, что относится к LINQ. Рассмотрены новые конструкции C# для поддержки LINQ. Много примеров. C# in Depth, Jon Skeet (русский перевод: C#. Программирование для профессионалов, Джон Скит). Немалая часть книги посвящена тому, как работает LINQ.
Литература по принципам, шаблонам и методикам разработки Роберт Мартин "Чистый код. Создание, анализ и рефакторинг" Внедрение зависимостей в .NET, Марк Симан. Несложно написанная книга про управление зависимостями в приложениях. Принципы, паттерны и методики гибкой разработки на языке C#, Роберт С. Мартин, Мика Мартин
Литература по Windows Workflow Foundation Essential Windows Workflow Foundation, Dharma Shukla, Bob Schmidt (русский перевод: Основы Windows Workflow Foundation, Дхарма Шукла, Боб Шмидт). Для тех, кого заинтересовала 26 глава («Введение в Windows Workflow Foundation») из книги Эндрю Троелсена Язык программирования C# 5.0 и платформа .NET 4.5. Pro WF 4.5, Bayer White (русской версии нет). Более углубленный взгляд на WF.
Литература по XML XML.NET, Джо Грей, Динар Дальви, Бипин Джоши, Фредрик Нормен, Фрэнсис Нортон, Энди Ольсен, Дж. Майкл Палермо IV, Даршан Сингх, Джон Слэйтер, Кевин Уильямс (Переводчик: И. Штерев). В книги содержится всё про применение XML в .NET за исключением LINQ. Старовата уже, но зато там есть объяснение, как внедрить свои функции на C# в XSLT.
Литература по ADO.NET Основы ADO.NET, Боб Бошемин (Переводчики: О.А. Лещинский, А.В. Журавлев, Н.Н. Селина)
Литература по .NET Remoting / WCF Microsoft .NET Remoting, Скотт Маклин, Джеймс Нафтел, Ким Уильямс Создание служб WCF, Джувел Леве (Переводчики: Е. Матвеев, А. Пасечник) Основы windows communication foundation, Стив Резник, Ричард Крейн, Крис Боуэн
Литература по безопасности Криптография и безопасность в технологии .NET, Питер Торстейнсон, Гнана Ганеш (Переводчик: В. Хорев). Книга дает представление .NET разработчику о реализации и применении криптографии, цифровой подписи, аутентификации, авторизации и доступа к коду (CAS). В ней описывается, что такое симметричное и асимметричное шифрование, что представляют собой цифровые подписи и как их использовать в .NET приложениях. Microsoft ASP.NET. Обеспечение безопасности, Доминик Байер. Не смотря на то, что в названии указано ASP.NET в книге рассматриваются технологии безопасности под Windows, применимые из .NET для всех типов приложений. Это аутентификация, авторизация, олицетворение и Membership.
Книги и учебные материалы по Entity Framework К сожалению, до сих пор нет книг на русском языке, поэтому на русском языке можно порекомендовать только следующие материалы: Руководство по Entity Framework Руководство по Entity Framework Core Работа с Entity Framework 6 Центр документации по Entity Framework