4 лучших бесплатных книг по C#


Оглавление (нажмите, чтобы открыть):

ForCoder

Книги по C#, скачать бесплатные книги, самоучители и учебники по C# в хорошем качестве

Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем.
Написанная консультантами компании Software Improvement Group книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания написаны на языке С#, но существует аналогичная книга с примерами на языке Java.
Издание предназначено программистам на С#, желающим научиться писать качественный и хорошо поддерживаемый код.

13,193 просмотров всего, 3 просмотров сегодня

Microsoft Visual C#. Подробное руководство

Освойте основы программирования и углубите свои познания, используя новейшую версию C# с Visual Studio 2015. Вы научитесь быстро писать код и создавать проекты, работать с переменными, операторами, выражениями и методами, разрабатывать надежные приложения с обработкой ошибок и исключений, использовать коллекции, создавать запросы LINQ, а кроме того получите навыки объектно-ориентированного программирования. Книга пригодится разработчикам программного обеспечения, которые только начинают работать с Visual C# или хотят перейти на новую версию ПО, а также всем, кто знает хотя бы один язык программирования. Опыт работы с Microsoft .NET или Visual Studio не требуется.

24,387 просмотров всего, 1 просмотров сегодня

Искусство автономного тестирования с примерами на С#

Во втором издании книги автор шаг за шагом проведет вас по пути от первого простенького автономного теста до создания полного комплекта тестов — понятых, удобных для сопровождения и заслуживающих доверия. Вы и не заметите, как перейдете к более сложным вопросам — заглушкам и подставкам — и попутно научитесь работать с изолирующими каркасами типа Moq, FakeltEasy или Typemock Isolator. Вы узнаете о паттернах тестирования и организации тестов, о том, как проводить рефакторинг приложении и тестировать «нетестопригодный» код. Не забыл автор и об интеграционном тестировании и тестировании работы с базами данных.

Примеры в книге написаны на С#, но будут понятны всем, кто владеет каким-нибудь статически типизированным языком, например Java или С++.

9,965 просмотров всего, 1 просмотров сегодня

C# 6.0. Справочник. Полное описание языка

Данное руководство, ставшее бестселлером, позволяет получить точные ответы практически на любые вопросы по C# 6.0, CLR и основным сборкам .NET Framework. После своего появления в 2000 году C# стал языком с выдающейся гибкостью и мощью, но его постоянный рост и совершенствование означают необходимость в дополнительном изучении. Организованное по концепциям и сценариям использования, существенно обновленное 6-е издание книги предлагает программистам средней и высокой квалификации лаконичный план получения знаний по языку C# и платформе .NET Framework. Читая ее, вы очень быстро поймете, почему это руководство считают авторитетным справочником по C#.

31,730 просмотров всего, 2 просмотров сегодня

Visual С# 2012 на примерах

Рассмотрено более 140 типичных примеров, встречающихся в практике реального программирования для платформы .NET Framework в среде Microsoft Visual C# 2012: обработка событий мыши и клавиатуры, чтение/запись файлов, редактирование графических данных, управление буфером обмена, ввод/вывод данных, использование функций MS Word, MS Excel, AutoCAD и MATLAB, а также создание PDF-файлов, использование технологий LINQ и ADO.NET при работе с базами данных, разработка интерактивных веб-приложений, создание веб-служб с помощью технологий Web Service и WCF Service, разработка WPF-приложений и многое другое. Материал располагается по принципу от простого к сложному, что позволяет использовать книгу одновременно как справочник для опытных и как пособие для начинающих программистов. На сайте издательства находятся примеры из книги.

10,760 просмотров всего, 1 просмотров сегодня

C# 6.0 and the .NET 4.6 Framework

This new 7th edition of Pro C# 6.0 and the .NET 4.6 Platform has been completely revised and rewritten to reflect the latest changes to the C# language specification and new advances in the .NET Framework. You\’ll find new chapters covering all the important new features that make .NET 4.6 the most comprehensive release yet, including:

    A Refined ADO.NET Entity Framework Programming Model

Numerous IDE and MVVM Enhancements for WPF Desktop Development

  • Numerous updates to the ASP.NET Web APIs
  • This comes on top of award winning coverage of core C# features, both old and new, that have made the previous editions of this book so popular. Readers will gain a solid foundation of object-oriented development techniques, attributes and reflection, generics and collections as well as numerous advanced topics not found in other texts (such as CIL opcodes and emitting dynamic assemblies).
    The mission of this book is to provide you with a comprehensive foundation in the C# programming language and the core aspects of the .NET platform plus overviews of technologies built on top of C# and .NET (ADO.NET and Entity Framework, Windows Communication Foundation [WCF], Windows Presentation Foundation [WPF], and ASP.NET [WebForms, MVC, WebAPI]). Once you digest the information presented in these chapters, you’ll be in a perfect position to apply this knowledge to your specific programming assignments, and you’ll be well equipped to explore the .NET universe on your own terms.

      Be the first to understand the .NET 4.6 platform and C# 6.

    Discover the ins and outs of the leading .NET technology.

    Learn from an award-winning author who has been teaching the .NET world since version 1.0.

  • Find complete coverage of XAML, .NET 4.6 and Visual Studio 2015 together with discussion of the new Windows Runtime.
  • Who this book is for
    This book is perfect for anyone who is interested in the new .NET Framework 4.6 and the C# language. Whether you are moving to .NET for the first time or are already writing applications using previous .NET versions, this book will provide you with a comprehensive grounding in the new technology and serve as a complete reference throughout your coding career.

    19,050 просмотров всего, 3 просмотров сегодня

    Beginning C# Object-Oriented Programming

    Learn C# with Beginning C# Object-Oriented Programming and you’ll be thinking about program design in the right way from day one. Whether you want to work with .NET for the web or desktop, or for Windows 8 on any device, Dan Clark\’s accessible, quick-paced guide will give you the foundation you need for a successful future in C# programming.
    In this book you will:
    Master the fundamentals of object-oriented programming
    Work through a case study to see how C# and OOP work in a real-world application
    Develop techniques and best practices that lead to efficient, reusable, elegant code
    Discover how to transform a simple model of an application into a fully-functional C# project.
    With more than 30 fully hands-on activities, Beginning C# Object-Oriented Programming teaches you how to design a user interface, implement your business logic, and integrate your application with a relational database for data storage. Along the way, you will explore the .NET Framework, ASP.NET and WinRT. In addition, you will develop desktop, mobile and web-based user interfaces, and service-oriented programming skills, all using Microsoft\’s industry-leading Visual Studio 2012, C#, the Entity Framework, and more. Read this book and let Dan Clark guide you in your journey to becoming a confident C# programmer.

    7,892 просмотров всего, сегодня нет просмотров

    Как программировать на Visual C# 2012

    Эта книга, выходящая уже в пятом издании, является одним из самых популярных в мире учебников по программированию на платформе Microsoft .NET на языке Visual C# 2012. Здесь рассматриваются основы синтаксиса Visual C# и работа с программой Visual C# Express 2012. По ходу работы с книгой читатели изучат структуры управления, классы, объекты, методы, переменные, массивы C# и основные методы объектно-ориентированного программирования. Также рассматриваются и более сложные методы, в том числе поиск, сортировка, структуры данных, коллекции. Каждая глава содержит множество практических примеров. Пятое издание было полностью обновлено под новейшую версию Visual C# 2012.
    Книга может служить учебником по Visual С#, также она будет полезна широкому кругу начинающих программистов, которые хотят научиться программировать на C#.

    17,794 просмотров всего, 1 просмотров сегодня

    C# 5.0 и платформа .NET 4.5 для профессионалов

    Книга поможет обрести знания, необходимые для разработки приложений для Windows, веб-приложений и приложений в стиле Windows 8 с применением C# 5 и .NET 4.5. После краткого обзора основ языка C# признанные эксперты в предметной области предлагают детальное рассмотрение последних дополнений языка и платформы, а также новых средств разработки через тестирование и параллельного программирования.

    12,315 просмотров всего, 1 просмотров сегодня

    C# 5.0 All-in-One For Dummies

    C# is a complex programming language for building .NET-connected software for Microsoft Windows, cloud computing, the Web, and a wide range of devices. Today\’s developers use it to develop Azure and Windows Phone apps, and Android applications using Mono. Novice programmers can get up and running quickly on C# using this practical guide. Crammed with 800+ pages of information, this all-in-one book helps you quickly create a C# program while learning C# and object-oriented programming fundamentals, Windows and Windows phone programming, and more.

      Helps novice programmers learn C# programming and create their first C# program

    Explains how to create Windows applications with C# and Visual Studio

    Delves into Windows Phone programming, as well as object-oriented programming basics

    Covers debugging, errors, comparisons with C++ and Java, classes and arrays, variables, and more

  • Includes access to a companion website with sample code and bonus materials
  • 4,391 просмотров всего, 1 просмотров сегодня

    Литература по C# для начинающих и не только

    Литературы по языку C# и платформе .NET существует очень много, в том числе и на русском языке. Одной из причин такого разнообразия является заслуженная популярность языка, являющегося флагманом в семействе языков для .NET и всё большей ориентированностью новых технологий для Windows-разработки именно на этот язык и платформу.

    Оригинальное название: C# 4.0 The Complete Reference
    Автор: Герберт Шилдт (Herbert Schildt)
    Год издания: 2010
    Купить: ozon.ru, amazon.com
    ISBN: 978-0071741163 (en), 978-5-8459-1684-6 (ru)

    От издателя: В этом полном руководстве по C# 4.0 — языку программирования, разработанному специально для среды .NET, — детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.

    Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.

    От себя: Эта книга чрезвычайно популярна среди новичков как за понятность изложения, так и за то, что от читателя совсем не требуется знание программирования — можно начать с этой книгой с нуля.

    Оригинальное название: C# 6.0 and the .NET 4.6 Framework
    Автор: Эндрю Троелсен (Andrew Troelsen)
    Год издания: 2020
    Купить: ozon.ru, amazon.com
    ISBN: 978-1-4842-1333-9 (en), 978-5-8459-2099-7 (ru)

    От издателя: Совершите увлекательное путешествие по вселенной .NET!

    Освойте технологию разработки приложений .NET с помощью нового издания известного бестселлера. Охватывая как базовые, так и новейшие концепции платформы, эта книга призвана научить вас всем тонкостям технологии .NET.

    Признанный эксперт мирового уровня, обучающий .NET с самой первой версии, поможет вам обрести глубокое понимание ключевых аспектов языка программирования C#, а также новых функциональных возможностей платформы, которые появились в версии .NET 4.5.

    От себя: Несмотря на то, что издатели позиционируют эту книгу как справочник для опытных программистов, эта книга хорошо подойдёт начинающим программистам, знакомым хотя бы с основами программирования — материал изложен очень подробно и доступно. Одним из достоинств книги является то, что автор помимо языка охватывает весь стек технологии для .NET-разработки: начиная с базовых классов и Windows Forms и заканчивая ASP.NET и WPF.

    Оригинальное название: Beginning Visual C# 2012 Programming
    (на русский язык переведено только более старое издание, охватывающее Visual C# 2010)
    Авторы: Карли Уотсон, Кристиан Нейгел, Якоб Хаммер Педерсен, Джон Д. Рид, Морган Скиннер (Karli Watson, Jacob Vibe Hammer, Jon D. Reid, Morgan Skinner, Daniel Kemper, Christian Nagel)
    Год издания: 2012 (en), 2010 (ru)
    Купить: ozon.ru, amazon.com
    ISBN: 978-1118314418 (en), 978-5-8459-1699-0 (ru)

    От издателя: Эта книга начинается с основ программирования на C# 2010, таких как переменные, управление потоком выполнения и принципы объектно-ориентированного программировании, и заканчивается описанием разработки Windows- и веб-приложений, а также приемов доступа к данным (в базах данных и документах XML). Авторы книги, являющиеся признанными экспертами в предметной области, акцентируют внимание на инструментах, которые нужны для написания программ C#, и на среде разработки Visual C# 2010 в Visual Studio® 2010. Пошаговые инструкции и удачно подобранные примеры, повсеместно встречающиеся в книге, демонстрируют наилучшие приемы для эффективного создания кода на C# 2010.

    Книга рассчитана на начинающих программистов, а также будет полезна студентам и преподавателям дисциплин, связанных с программированием и разработкой для .NET.

    От себя: Неплохая книга для начинающих, охватывающая большую часть платформы .NET и языка C# от известной группы авторов. Русское издание этой книги является несколько устаревшим и охватывает C# 4.0. Если вы хорошо владеете английским языком, стоит прочесть более новое издание оригинала.

    Оригинальное название: C# 6.0 in a Nutshell: The Definitive Reference
    Авторы: Джозеф Албахари, Бен Албахари (Joseph Albahari, Ben Albahari)
    Год издания: 2015
    Купить: ozon.ru, amazon.com
    ISBN: 978-1491927069 (en), 978-5-8459-2087-4 (ru)

    От издателя: Данное руководство, ставшее бестселлером, позволяет получить точные ответы практически на любые вопросы по C# 6.0, CLR и основным сборкам .NET Framework.
    Изучите все аспекты языка C#, начиная с основ синтаксиса и переменных и заканчивая сложными темами, такими как указатели и перегрузка операций. Научитесь пользоваться языком LINQ благодаря трем посвященным ему главам.
    Освойте динамическое, асинхронное и параллельное программирование.
    Получите навыки работы со средствами .NET, в числе которых XML, взаимодействие с сетью, сериализация, рефлексия, безопасность, домены приложений и контракты кода.
    Исследуйте новый компилятор как службу C# 6.0 под названием Roslyn.

    От себя: Это одна из лучших книг, написанных по данной тематике. Братья Албахари с каждым новым изданием неизменно радуют своим стройным и логичным изложением материала. Без сомнений, моя любимая книга по .NET.

    Оригинальное название: Programming C# 5.0: Building Windows 8, Web, and Desktop Applications for the .NET 4.5 Framework
    Автор: Йен Гриффитс (Ian Griffiths)
    Год издания: 2012
    Купить: ozon.ru, amazon.com
    ISBN: 978-1449320416 (en), 978-5-699-69313-9 (ru)

    От издателя: Автор познакомит вас с основами языка C# 5.0 и обучит вас приемам создания десктоп- и веб-приложений, в том числе и под операционную систему Windows 8.
    Исчерпывающее комплексное руководство поможет вам узнать, насколько мощными возможностями обладает комбинация C# 5.0 и .NET 4.5.
    Большое количество примеров поможет при работе с такими особенностями C#-кода, как обобщения, динамическая типизация и новые возможности асинхронного программирования. Кроме того, вы узнаете обо всех тонкостях работы с XAML, ASP.NET, LINQ и другими инструментами платформы .NET.

    От себя: Хорошее и обширное руководство, охватывающее помимо основных концепций, разработку под WPF и ASP.NET.

    Оригинальное название: CLR via C# (4th Edition) (Developer Reference)
    Автор: Джеффри Рихтер (Jeffrey Richter)
    Год издания: 2012
    Купить: ozon.ru, amazon.com
    ISBN: 978-0735667457 (en), 978-5-496-00433-6 (ru)

    От издателя: Эта книга, выходящая в четвертом издании и уже ставшая классическим учебником по программированию, подробно описывает внутреннее устройство и функционирование общеязыковой исполняющей среды (CLR) Microsoft .NET Framework версии 4.5. Написанная признанным экспертом в области программирования Джеффри Рихтером, много лет являющимся консультантом команды разработчиков .NET Framework компании Microsoft, книга научит вас создавать по-настоящему надежные приложения любого вида, в том числе с использованием Microsoft Silverlight, ASP.NET, Windows Presentation Foundation и т.д.
    Четвертое издание полностью обновлено в соответствии со спецификацией платформы .NET Framework 4.5, а также среды Visual Studio 2012 и C# 5.0.

    От себя: Если книги Албахари и Гриффитса нацелены на изучение темы «в ширину», то CLR via C# уходит «в глубину». Почти 900 страниц о том, как работает CLR — описаны очень многие важные аспекты работы. Рихтер, как всегда, не обделил вниманием многопоточное программирование. Книгу стоит прочесть обязательно.

    Оригинальное название: C# in Depth
    Автор: Джон Скит (Jon Skeet)
    Год издания: 2013
    Купить: ozon.ru, amazon.com
    ISBN: 978-1617291340 (en), 978-5-8459-1909-0 (ru)

    От издателя: Книга C# in Depth является обновлением предыдущего издания, ставшего бестселлером, с целью раскрытия новых средств языка C# 5, включая решение проблем, которые связаны с написанием сопровождаемого асинхронного кода. Она предлагает уникальные сведения о сложных областях и темных закоулках языка, которые может предоставить только эксперт Джон Скит.

    Если вы занимаетесь разработкой приложений .NET, то будете использовать C# как при построении сложного приложения уровня предприятия, так и при ускоренном написании какого-нибудь чернового приложения. В C# 5 можно делать удивительные вещи с помощью обобщений, лямбда-выражений, динамической типизации, LINQ, итераторных блоков и других средств. Однако прежде их необходимо должным образом изучить.

    От себя: Я не смогу назвать специалиста, знающего C# лучше, чем Джон Скит. Все хитрости, не изложенные в других книгах, все самые сложные вопросы, возникающие при разработке на C#, изложены в этой книге.

    Оригинальное название: Essential C# 6.0
    (эта книга не переводилась на русский язык)
    Авторы: Mark Michaelis, Eric Lippert
    Год издания: 2015
    Купить: amazon.com
    ISBN: 978-0134141046

    От издателя: Essential C# 6.0 is a well-organized, no-fluff guide to the latest versions of C# for programmers at all levels of experience. Fully updated to reflect new C# 6.0 and .NET 4.6 features and patterns, it will help you write C# code that’s simple, powerful, robust, secure, and maintainable.

    От себя: Отличная книга от именитых авторов. Одним из достоинств книги является деление материала на части для начинающих программистов и на более сложные участки. Будет хорошим вариантом для перехода с других языков программирования. Не переводилась на русский язык, так что придётся читать в оригинале (это даже к лучшему). Одно из первых изданий, охватывающих нововведения C# 6.0 и .NET 4.6.

    Оригинальное название: Professional C# 5.0 and .NET 4.5.1
    Авторы: Кристиан Нейгел, Джей Глинн, Морган Скиннер (Christian Nagel, Jay Glynn, Morgan Skinner)
    Год издания: 2014
    Купить: ozon.ru, amazon.com
    ISBN: 978-1118833032 (en), 978-5-8459-1850-5 (ru)

    От издателя: Comprehensive, advanced coverage of C# 5.0 and .NET 4.5.1. Whether you’re a C# guru or transitioning from C/C++, staying up to date is critical to your success. Professional C# 5.0 and .NET 4.5.1 is your go-to guide for navigating the programming environment for the Windows platform. After a quick refresher of the C# basics, the team of expert authors dives in to C# 5.0 and updates for NET 4.5.1.

    От себя: «Старший брат» книги «Beginning Visual C# 2012 Programming» как по актуальности, так и по сложности изложения. Авторы несколько необычно подают материал, из-за чего чтение может быть сложным, однако иной взгляд на те же вещи позволяет укрепить и улучшить имеющиеся знания. Также в книге немало материала, который не излагается в других книгах.

    Perl, Python — блог программиста

    C Sharp я выбрала потому, что мне хотелось освоить что-то серьезное, основательное. Выбор делала между С и Java. С Java у меня не сложилось. Мне она казалась очень «тяжелой», и попытки читать книги по Java вызывали скуку, сонливость и отчаяние. Я категорически не понимала, зачем нужны такие сложные и некрасивые конструкции. В perl тоже самое делается легким движением руки.

    Cи всегда был розовой мечтой. Язык, на котором пишут бородатые и очень умные дядьки, мега-крутые профессионалы. Однако, окончательно решив изучать C, я поняла, что опять надо выбрать — какой именно? Классический или C++ ? У меня нет времени, чтобы заниматься всем по порядку. С++ произвел впечатление чуть лучше Java, я приуныла.

    Мастер Йода рекомендует:  11 приложений для изучения программирования на мобильных устройствах + бонус

    И вот тут мне на глаза попался C Sharp. Скачала себе Visual Studio 2010. Посмотрела, полистала учебники, почитала MSDN. И начала испытывать к C Sharp настоящую нежность. Да, к сожалению, он не так крут, как С++, программисты менее востребованы, ЗП у них меньше. Но все-таки, это C (более безопасный и со сборкой мусора, ура!). Для него есть потрясающе удобная документация. Ее много! Она на русском! Есть инструментарий для разработки, с удобным GUI. Есть книги — отличные, легко читающиеся. Все это настолько отличается от Perl ! Вот что значит, когда язык поддерживается богатой компанией с мировым именем.

    Ниже я хочу предложить вам список лучших книг по C Sharp.

    И кстати, начав изучать C Sharp, я стала больше ценить Perl. Работая с C Sharp, ты приходишь на все готовое. Это приятно и комфортно, чувствуется забота о программисте. В работе с бесплатными продуктами, которые разрабатываются сообществом, нет ничего подобного. Извечные проблемы с документацией, локализациями, редакторами. Perl даже долгое время вообще не обновлялся и на несколько лет прекратил развитие.

    Но именно это и важно. C Sharp — это комфорт готовой системы, perl — возможность самому участвовать в развитии и продвижении языка.

    Простите за долгое вступление, а теперь список 🙂

    Со временем, список будет дополняться. Если вы читали какую-то из перечисленных книг, оставьте комментарий! Мне интересно узнать ваше мнение.

      C# 4.0 и платформа .NET 4 для профессионалов. Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер

    Одна из лучших книг по языку программирования, из тех, с которыми я встречалась. Легко читать,
    информация полная. Не смотря на заголовок «для профессионалов», на самом деле, ее легко читать
    даже если вы совсем не знаете C Sharp (впрочем, иметь навык программирования на любом другом языке — обязательно). При этом,
    благодаря такому позиционированию, книга не является скучной — судьба большинства книг «для начинающих».

    Мне повезло купить книгу во время очередной скидочной акции. Цена книги впечатляет не меньше ее содержимого.

    Отличная книга для начинающих. Особенно для тех, кто выбрал C# в качестве своего
    первого языка программирования. Хорошее и подробное изложение материала.
    Очень понравился раздел по пространству имен System — удобный справочный материал

    Список лучших книг по C# (C Sharp) : 7 комментариев

    >опять надо выбрать — какой именно? Классический или C++?

    Выбирать не надо. Сначала одно, а потом, если захочется — второе. Так как C++ — надстройка над C.

    На первое, потом второе — времени не хватает. Либо то, либо другое.

    Изучал C# по книге Нейгела — очень понравилась, для полного понимания языка достаточно. Не так давно посоветовали Шилдта — книга тоже очень хорошая, но уж очень для новичков.

    Тоже вот захотел научится! Думаю не помешает. Хочу прочитать Герберта Шилдта. Но есть загвоздка:( Хочу найти в pdf формате, что бы на работе втихаря читать. Так весь инет перерыл и ничего не нашел. Может еще пару книг хороших посоветуете?

    Учебники по C# C# Tutorials

    Приветствуем вас в разделе с руководствами по языку C#. Welcome to the C# tutorials. Она начинается с интерактивных занятий, которые можно проходить в браузере. These start with interactive lessons that you can run in your browser. Последующие и расширенные руководства обучают работе со средствами разработки .NET для создания программ на C# на компьютере. Later tutorials and more advanced tutorials help you work with the .NET development tools to create C# programs on your machine.

    Знакомство с C#: интерактивные руководства Introduction to C# interactive tutorials

    Если вы хотите начать изучение в формате видео, просмотрите серию видеороликов «C# для начинающих», в которой содержатся общие сведения о языке C#. If you want to start your exploration in video format, the C# 101 video series provides an introduction to C#. Ознакомившись с этими учебниками, вы узнаете об основных понятиях языка C#. You’ll learn about concepts you can explore in these tutorials.

    В первых занятиях с помощью небольших фрагментов кода объясняются основные понятия языка C#. The first lessons explain C# concepts using small snippets of code. Вы изучите основы синтаксиса C# и научитесь работать с такими типами данных, как строки, числа и логические значения. You’ll learn the basics of C# syntax and how to work with data types like strings, numbers, and booleans. Вся серия интерактивна, и уже через считанные минуты вы будете писать и запускать собственный код. It’s all interactive, and you’ll be writing and running code within minutes. Для первых занятий не требуются какие-либо знания в области программировании или опыт работы с языком C#. These first lessons assume no prior knowledge of programming or the C# language.

    Hello world Hello world

    В руководстве Hello World вы создадите самую простую программу на C#. In the Hello world tutorial, you’ll create the most basic C# program. Вы ознакомитесь с типом string и способами работы с текстом. You’ll explore the string type and how to work with text.

    Числа в C# Numbers in C#

    Из руководства Числа в C# вы узнаете, как на компьютере хранятся числа и как выполнять вычисления с разными числовыми типами. In the Numbers in C# tutorial, you’ll learn how computers store numbers and how to perform calculations with different numeric types. Вы ознакомитесь с основами округления и научитесь выполнять математические вычисления с помощью C#. You’ll learn the basics of rounding, and how to perform mathematical calculations using C#. Это руководство можно изучить, используя локальный компьютер. This tutorial is also available to run locally on your machine.

    В этом руководстве предполагается, что вы уже прошли занятие Hello World. This tutorial assumes that you have finished the Hello world lesson.

    Ветви и циклы Branches and loops

    В руководстве Ветви и циклы представлены общие принципы организации ветвления кода в зависимости от значений, хранящихся в переменных. The Branches and loops tutorial teaches the basics of selecting different paths of code execution based on the values stored in variables. Вы узнаете, что такое поток управления, являющийся основой принятия решений и выбора различных действий в программах. You’ll learn the basics of control flow, which is the basis of how programs make decisions and choose different actions. Это руководство можно изучить, используя локальный компьютер. This tutorial is also available to run locally on your machine.

    В этом руководстве предполагается, что вы уже прошли занятия Hello World и Числа в C#. This tutorial assumes that you have finished the Hello world and Numbers in C# lessons.


    Коллекция списков List collection

    Занятие Коллекция списков содержит обзор типа «Коллекция списков», в котором хранятся последовательности данных. The List collection lesson gives you a tour of the List collection type that stores sequences of data. Вы узнаете, как добавлять и удалять элементы, выполнять их поиск и сортировать списки. You’ll learn how to add and remove items, search for items, and sort the lists. Вы ознакомитесь с различными типами списков. You’ll explore different kinds of lists. Это руководство можно изучить, используя локальный компьютер. This tutorial is also available to run locally on your machine.

    В этом руководстве предполагается, что вы уже прошли перечисленные выше занятия. This tutorial assumes that you have finished the lessons listed above.

    Знакомство с C#: работа в локальной среде Introduction to C# — work locally

    Все ознакомительные руководства, в которых используется пример приложения «Hello World», можно проходить в локальной среде разработки. All the introductory tutorials following the Hello World lesson are available in your own local development environment. В конце каждого руководства вам предлагается на выбор возможность пройти следующее занятие в браузере или на локальном компьютере. At the end of each tutorial, you decide if you want to continue with the next lesson online or on your own machine. Чтобы настроить среду и продолжить изучение следующего руководства на компьютере, можно воспользоваться соответствующими ссылками. There are links to help you setup your environment and continue with the next tutorial on your machine.

    Обзор новых возможностей в C# Explore new features in C#

    • Ознакомьтесь с новыми функциями C# 6 в интерактивном режиме: испытайте новые возможности C# 6 в интерактивном режиме с помощью браузера. Try new features in C# 6 interactively: Explore the features added in C# 6 interactively in your browser.
    • Строка интерполяции. Демонстрирует, как использовать интерполяцию строк для создания форматированных строк в C#. String Interpolation: demonstrates how to use string interpolation to create formatted strings in C#.
    • Ссылочные типы, допускающие значение NULL. Демонстрируется использование ссылочных типов, допускающих значение NULL, для выражения намерения относительно пустых ссылок. Nullable reference types: demonstrates how to use nullable reference types to express your intent for null references.
    • Обновление проекта для использования ссылочных типов, допускающих значение NULL: описание способов обновления существующего проекта для использования ссылочных типов, допускающих значение NULL. Update a project to make use of Nullable reference types: demonstrates techniques to upgrade an existing project to make use of nullable reference types.
    • Расширение возможностей обработки данных с помощью сопоставления шаблонов: описание способов использования сопоставления шаблонов для расширения ключевых функций типов. Extend data capabilities using pattern matching: demonstrates how to use pattern matching to extend types beyond their core features.
    • Работа с последовательностями данных с использованием индексов и диапазонов: описан новый удобный синтаксис для доступа к отдельным элементам или диапазонам контейнера последовательных данных. Work with data sequences using indexes and ranges: Demonstrates new convenient syntax for accessing single elements or ranges of a sequential data container.

    Общие руководства General Tutorials

    Следующие руководства позволяют создавать программы на C# с использованием .NET Core. The following tutorials enable you to build C# programs using .NET Core:

    • Консольное приложение. Демонстрирует консольный ввод-вывод, структуру консольного приложения и модель асинхронного программирования на основе задач. Console Application: demonstrates Console I/O, the structure of a Console application, and the basics of the task-based asynchronous programming model.
    • Клиент REST. Демонстрирует веб-взаимодействие, сериализацию JSON и объектно ориентированные функции языка C#. REST Client: demonstrates web communications, JSON serialization, and object-oriented features in the C# language.
    • Inheritance in C# and .NET (Наследование в C# и .NET). Демонстрирует наследование в C#, в том числе использование наследования для определения базовых классов, абстрактных базовых классов и производных классов. Inheritance in C# and .NET: demonstrates inheritance in C#, including the use of inheritance to define base classes, abstract base classes, and derived classes.
    • Working with LINQ (Работа с LINQ). Демонстрирует множество функций LINQ и элементы языка, которые их поддерживают. Working with LINQ: demonstrates many of the features of LINQ and the language elements that support it.
    • Использование атрибутов. Описывает создание и использование атрибутов в C#. Using Attributes: demonstrates how to create and use attributes in C#.
    • В руководстве Интерполяция строк демонстрируется, как вставлять значения в строки. String interpolation tutorial shows you how to insert values into a string. Вы узнаете, как создать интерполированную строку с внедренными выражениями C# и как управлять текстовым представлением результатов выражений в итоговой строке. You’ll learn how to create an interpolated string with embedded C# expressions and how to control the text appearance of the expression results in the result string. Это руководство можно изучить, используя локальный компьютер. This tutorial is also available to run locally on your machine.

    20 самых рекомендуемых книг для программистов на русском языке

    Авторы проекта Dev-Books проанализировали миллионы вопросов и ответов в крупнейшем сообществе программистов Stack Overflow. Всё для того, чтобы найти книги, на которые чаще всего ссылаются разработчики.

    В общий список вошло 5 720 книг. Ниже вы найдёте 20 самых упоминаемых из них, которые когда-либо выходили на русском.

    По просьбе Лайфхакера своими мнениями насчёт некоторых изданий поделились отечественные эксперты.

    1. «Эффективная работа с унаследованным кодом», Майкл К. Физерс

    Автор объясняет, как быстро разбираться в унаследованном коде, как тестировать его, как правильно вносить изменения. Книга содержит множество эффективных приёмов, предназначенных специально для этих задач.

    2. «Приёмы объектно-ориентированного проектирования. Паттерны проектирования», Эрих Гамма и другие

    Классика для программиста. Первая книга, посвящённая именно шаблонам.

    Леонид Выговский, системный архитектор IT-компании LiveTex

    — Издание уже 20 лет переиздаётся в изначальном виде. В этом, конечно, главный недостаток книги: некоторые шаблоны уже неактуальны. Думаю, её полезно читать уже после других, более современных, книг по паттернам проектирования. Тем более что она написана сухим академическим языком. Для понимания паттернов эта книга не must read, но её прочтение добавляет крутости в глазах коллег-программистов. 🙂 Начинать я советую с «Паттернов проектирования» (Head First Design Patterns).

    3. «Чистый код. Создание, анализ и рефакторинг», Роберт К. Мартин

    Интересная, но во многом спорная книга о том, как писать понятный и поддерживаемый код.

    Леонид Выговский, системный архитектор IT-компании LiveTex

    — Почему спорная? Книг про написание кода уже огромное количество, и часть приёмов являются общепризнанными. Но каждый автор добавляет что-то своё. Лично для меня мнение Боба Мартина кажется иногда странным и противоречащим другим источникам. Не must read, но прочитать всё же стоит. Качество кода после прочтения становится лучше.

    4. «Предметно-ориентированное проектирование», Эрик Эванс

    Очень сильная книга, которая мотивирует к саморазвитию. После прочтения кажется, что без ПОП качественный код не написать.

    Леонид Выговский, системный архитектор IT-компании LiveTex

    — Из этой книги выросли концепции СQRS, BDD, onion-architecture и много других интересных идей. Единственный недостаток: книга насквозь теоретическая. Практическую пользу она приобрела только с выходом книги Вона Вернона «Реализация методов предметно-ориентированного проектирования» (Implementing Domain Driven Design). Поэтому читать их надо последовательно, сразу друг за другом.

    5. «JavaScript: сильные стороны», Дуглас Крокфорд

    Обязательная книга для веб-разработчиков. В ней Дуглас Крокфорд рассказывает о преимуществах языка JavaScript и учит грамотно их применять для создания эффективного кода.

    6. «Шаблоны корпоративных приложений», Мартин Фаулер и другие

    Книга описывает базовые принципы проектирования ПО для корпоративных платформ.

    7. «Совершенный код. Мастер-класс», Стив Макконнелл

    Классическая книга о том, как писать код лучше.

    Михаил Осотов, директор по производству «Центра высоких технологий»

    — Принципы, о которых рассказывается в книге, актуальны в любые времена, несмотря на то, что первое издание было выпущено аж в 1993 году. Волшебство этой книги заключается в том, что можно перечитывать её каждый год и каждый раз узнавать что-то новое.

    8. «Рефакторинг. Улучшение существующего кода», Мартин Фаулер и другие

    Из серии книг по написанию понятного и качественного кода, «Рефакторинг» — лучшая.

    Леонид Выговский, системный архитектор IT-компании LiveTex

    Выговский: «Она не только показывает хороший код, но и на примере плохого объясняет, чем именно он плох. Эта книга — must read для всех. Причём чем раньше вы её прочтёте, тем лучше. Качество кода после прочтения сильно вырастет».

    Если книгу Фаулера вы уже прочли, обратите внимание на «Рефакторинг с использованием шаблонов» (Refactoring to Patterns) Джошуа Кериевски, которую рекомендует Михаил Осотов.

    «Рефакторинг с использованием шаблонов» Кериевски — отличная книга для тех, кто каждый день сталкивается с проблемой легаси-кода и технического долга в своих проектах.

    Михаил Осотов, директор по производству «Центра высоких технологий»

    — Эта книга поможет сохранить свои нервы, подружиться с рефакторингом и сделать код лучше.

    9. «Паттерны проектирования», Эрик Фримен, Элизабет Фримен и другие

    Серия Head First, на мой взгляд, идеально подходит для новичков в области разработки ПО.

    Михаил Осотов, директор по производству «Центра высоких технологий»

    — Все книги написаны разными авторами, но в каждой виден общий подход, который выражается в простой подаче материала, интересных и простых примерах.

    10. «Язык программирования C», Брайан У. Керниган, Деннис М. Ритчи

    Классическое учебное пособие по языку C, написанное его же создателями. Однако начинающим эта книга может показаться сложной, поскольку требует от читателя знания основ программирования.

    11. «Эффективное использование С++. 55 верных способов улучшить структуру и код ваших программ», Скотт Майерс

    Книга содержит советы по проектированию программ, работе с шаблонами и управлению ресурсами, а также другие рекомендации по созданию качественного ПО на языке С++.

    12. «Экстремальное программирование: разработка через тестирование», Кент Бек

    Автор на примерах описывает методику разработки ПО, которая предполагает тестирование программ ещё до написания их кода.

    13. «Алгоритмы. Построение и анализ», Томас Х. Кормен и другие

    Эту книгу называют библией алгоритмов. Она зарекомендовала себя как отличное научное пособие для студентов технических вузов и всех, кто интересуется информатикой. Книга доступным языком знакомит с алгоритмами разных типов и описывает их особенности.

    14. «Регулярные выражения», Джеффри Фридл

    Издание об эффективной работе с текстом в Perl, PHP, Java, Python, Ruby и других языках программирования.

    15. «CLR via C#. Программирование на платформе Microsoft.NET Framework 4.5 на языке C#», Джеффри Рихтер

    Классический учебник по разработке приложений для платформы Microsoft, в том числе с помощью Silverlight, Windows Presentation Foundation, ASP.NET и прочих технологий компании.

    16. «Современное проектирование на C++», Андрей Александреску

    Книга для опытных программистов на C++. Автор предлагает новый подход к разработке, сочетающий метапрограммирование шаблонов, обобщённое программирование и объектно-ориентированное программирование на этом языке.

    17. «Microsoft ASP.NET 2.0. Базовый курс», Дино Эспозито

    Детальное руководство для опытных специалистов по ASP.NET 2.0. Книга учит создавать мощные, надёжные и масштабируемые сайты на этой платформе.

    18. «Шаблоны тестирования xUnit. Рефакторинг кода тестов», Джерард Месарош

    Автор книги показывает, как применять шаблоны проектирования, исключение повторений, инкапсуляцию и другие принципы разработки ПО к написанию кода тестов.

    19. «Компиляторы. Принципы, технологии и инструментарий», Альфред В. Ахо и другие

    Книга описывает базовые принципы разработки компиляторов и делает особый акцент на оптимизации кода. В помощь читателю — большое количество примеров из практики.

    20. «Инфраструктура программных проектов. Соглашения, идиомы и шаблоны для многократно используемых библиотек .NET», Кржиштоф Цвалина, Брэд Абрамс

    Издание содержит лучшие приёмы разработки библиотек для платформы Microsoft .NET Framework. Книга должна упростить работу любого .NET-специалиста, который пишет код для других разработчиков.

    Полный рейтинг англоязычных книг доступен на сайте Dev-Books. Там же можно просмотреть списки самых популярных книг на определённые темы, будь то Java, Database Design или CSS.

    Книги по программированию на языке C# (СИ шарп)

    Актуальные книги по C Sharp, которые стоит изучить

    Подборка лучшей обучающей литературы по программированию на языке C# (си шарп) для начинающих с нуля и опытных программистов.

    Здесь можно скачать лучшие книги и учебники по языку C Sharp бесплатно для ознакомления, почитать онлайн или купить полную электронную версию в форматах FB2, PDF, EPUB, TXT, DOC, MOBI.

    Только легальный контент от правообладателей!

    Смотрите также подборки книг по темам:

    Programming stuff

    Страницы

    вторник, 22 апреля 2014 г.

    Книги для изучения C#/.NET

    DISCLAIMER: выбор хорошей книги – это довольно сложный и индивидуальный процесс. Список ниже основывается на моем личном опыте и обилии «перекрестных ссылок» из разных книг, статей, обсуждений в форумах и личных обсуждениях с коллегами. Если вдруг вы не увидите свою любимую книгу в этом списке, это не значит, что она его недостойна, возможно, она просто аналогично одной из книг, представленных ниже.

    Пришло время немного переформатировать старый пост с «классическими книгами по C#/.NET», чтобы отразить не просто список достойных источников для изучения C#/.NET, но и упростить выбор нужных книг в зависимости от уровня и потребностей читателя.

    Для новичка в программировании

    Ни одна из книг не научит вас программированию, а книги о конкретном языке или платформе обычно даже не пытаются этого сделать. Путь профессионального программиста достаточно труден и мечты стать профессионалом за 21 день всегда будут оставаться мечтой (помните о замечательной статье – Teach Yourself Programming in Ten Years?).

    Именно поэтому книги о C#/.NET вряд ли будут лучшими источниками, если вы хотите научиться основам программирования, правильному кодированию, или дизайну. Для этого есть масса других источников и упомянуть хочется лишь несколько базовых книг по разработке ПО: «Структура и интерпретация компьютерных программ» Харольда Абельсона и Джеральда Сассмана (MIT), «Почувствуй класс» Бертрана Мейера (MIT) и «Программирование. Принципы и практика использования С++» Бьярне Страуструпа (Texas A&M University). Каждая из этих книг обкатана на тысячах студентов в различных университетах и являются общепризнанной классикой. (Интересно, что в этих книгах используются разные методологии: SICP – ФП и Scheme, в книге Мейера – OO и Eiffel, а у Страуступа – в структурное + ОО программирование на языке С++.)

    Для новичка в .NET

    Выбор книги для новичка в C#/.NET зависит того, что понимается под понятием «новичок»: это новичок в C#/.NET или новичок в программировании? Если у вас есть 3+ опыта в С++, Java или другом высокоуровневом языке программирования, то разумнее будет сразу перейти к списку книг для продвинутых .NET разработчиков.

    В противном случае подойдет практически любая обзорная книга о C# и платформе .NET, при этом классическим примером такой книги является книга Эндрю Троелсена:

    «Язык программирования C# 5.0 и платформа .NET 4.5», Эндрю Троелсен, 6-е издание, 2012

    В отличии от всех других книг, приведенных в этом списке, лишь эта книга не предполагает практически никакого опыта со стороны читателя. Поэтому в книге рассказывается о циклах, объявлении переменных и основах ООП. Также это единственная «универсальная» книга в списке, которая покрывает самые разные технологии платформы .NET: ASP.NET, WPF, WWF, WCF, ADO.NET, а также основы языка C#, отражение, процессы/потоки/домены, многопоточность и ввод-вывод.

    Дополнительные ссылки: amazon.com, goodreads.com, ozon.ru (ru)

    Для продвинутого .NET разработчика

    Еще раз напомню, что под «продвинутым» в данном случае имеется ввиду скорее ваш собственный уровень зрелости, а не » продвинутое» знание C#/.NET. Так, если вы хорошо знаете С++, то чтение Троелсена будет пустой тратой времени, поскольку вы будете стараться понять, как же C#/.NET устроен внутри, чего книга Троелсена просто не даст.

    Так что если вы чувствуете в себе силы копнуть глубже, то лучше всего выбрать одну книгу из списка ниже. При этом выбор должен основываться на следующем критерии: если интересны внутренности платформы .NET/CLR + многопоточность, то это книга Джеффри Рихтера, если же больше интересен именно язык C# — то это книги Албахари или Барта де Смета (при этом у Албахари будет побольше описания базовой библиотеки классов). Если вы уже неплохо знаете C# и хочется ускоренного глубокого погружения, то нужно брать книгу Джона Скита или книги Билла Вагнера.

    Книги, ориентированные на платформу .NET

    “CLR via C#”, Джеффри Рихтер, 4-е издание, 2012

    С момента выхода языка C# и платформы .NET прошло без малого десять лет и за это время появилось немало отличных книг и статей, но при этом одна книга была и будет настоящей классикой в этой области. Я не знаю ни одной другой книги, которая бы пользовалась такой бы популярностью все эти годы, которую бы столько цитировали и советовали другим. Основное преимущество этой книги заключается в фирменном стиле Рихтера, невероятной глубине изложения и отличной подаче материала. Эта книга посвящена именно платформе .Net, ее фундаментальным основам и основным компонентам; в ней практически нет ничего о конкретном языке программирования, за исключением тех мест, когда автор рассказывает о том, как поступает компилятор в тех или иных случаях. Эта книга уже давно заслужила свое место на полке каждого профессионального .Net разработчика и в дополнительных рекомендациях, в общем-то, не нуждается.

    Мастер Йода рекомендует:  10 лучших дистрибутивов для хакинга и пентеста

    «Программирование на платформе .NET», Дон Бокс, Крис Селлз, 2002

    Что вы скажете о книге, в которой для знакомства с платформой .NET советуют книгу Рихтера для ознакомления с темой, поскольку в противном случае, ее, родимую, читать будет сложновато? Так вот, именно Дон Бокс, гуру технологии COM (который правда и сам на нее уже не может смотреть) и Крис Селлз (тоже славный малый) осмелились на это в своей книге. И совет этот, действительно полезен, поскольку авторы иногда залазят в такие дебри, что без бУтыля – никуда. Многие темы, такие как взаимодействие управляемого и неуправляемого кода или механизм кросс-доменного взаимодействия описан просто невероятно подробно. Конечно, некоторые темы уже устарели (ведь книга вышла в далеком 2002 году), но большинство из них будут актуальны на протяжении всего времени жизни платформы .NET.

    Книги, ориентированные на язык C#

    “C# 5.0 Unleashed” by Bart De Smet, 2 nd Edition, 2012

    Представьте себе, что Рихтер таки нашел в себе силы и добавил в последнее издание не сотню новых страниц о многопоточности, а полностью переработал книгу и добавил туда сотню страниц по DLR (Dynamic Language Runtime), сотню страниц по лямбда-выражениям и деревьям выражений, еще сотню страниц с советами по работе в Visual Studio, полторы сотни страниц по LINQ-у, да еще и о контрактах не забыл. Добавьте сюда отличные картинки, которые иллюстрируют ход мыслей автора и помогают понять тот или иной аспект рассматриваемой темы; сотню сносок, в которых автор рассказывает, почему были приняты те или иные решения разработчиками языка или платформы, не забудьте о лирических отступления на разные теоретические аспекты программирования — и вы получите одну из лучших книг о языке C# и платформе .Net, которая когда-либо выходила в свет! И, кстати, в отличие от того же Троелсена, в этой книге вы не встретите никаких WPF-ов, WCF-ов или других ASP.NET-ов, все 1650 (!) страниц книги посвящены «всего лишь» языку C# и фундаментальным основам платформы .Net. Сочетание широты охвата и глубины изложения делает эту книгу одним из лучших источников информации для всех, кто хочет заняться изучением языком C# или пополнить свои знания в одной из тем.

    “C# 5.0 in a Nutshell” by Joseph Albahari, Ben Albahari, 5 th Edition, 2012

    Это еще один фундаментальный труд, объемом немногим более тысячи страниц, посвященный исключительно языку программирования C# и платформе .NET. И хотя у нас принято считать книгу Рихтера настоящей классикой, а ко всем остальным относиться с пренебрежением, книга братьев Албахари действительно заслуживает внимание. В этой книге рассматриваются практически все ключевые темы, касающиеся языка C# и платформы .NET, начиная от таких распространенных тем, как многопоточность, сборка мусора, сборки, домены, LINQ, заканчивая менее распространенными темами, как контракты, сериализация, потоковый ввод/вывод и регулярные выражения. И хотя глубина изложения иногда может не дотягивать до некоторых других представителей, в ней отлично соблюден баланс между сложностью изложения и практичностью, так что этой книги в большинстве случаев достаточно для глубокого понимания соответствующей темы.

    “C# in Depth” by Jon Skeet, 3d Edition, 2013

    Если вы когда-либо осмелитесь задать вопрос на StackOverflow.com о том, чтобы почитать для повышения своих знаний о языке C#, то он будет закрыт примерно через 3,5 секунды, как дубликат одного из сотен (!) сообщений, при этом в большинстве из них в первом же ответе будут советовать книгу Джеффри Рихтера, если речь касается еще и CLR и платформы .NET, и книгу Джона Скита, если речь идет о языке C#. Конечно, немаловажную роль в этом играет статус Джона Скита на StackOverflow.com, но, тем не менее, правда в этом действительно есть. У Скита есть удивительная особенность рассказывать сложные вещи простыми словами; многие весьма непростые темы раскрыты очень подробно; автор рассказывает о том, как «думает компилятор» и, что немаловажно, о чем думали разработчики компилятора, принимая то или иное решение при реализации этой возможности.

    Благодаря своей структуре, книга “C# In Depth” позволяет увидеть эту целостную картину языка C# и структурировать новые или существующие знания. На протяжении всей книги автор рассказывает об эволюции языка C#, рассматривая по ходу изложения проблемы, присущие предыдущим версиям и способы их решения в последующих версиях. При этом автор дает понять, каким путем идет развитие языка C#, прогнозируя его новые возможности и будущие изменения.

    “Effective C# (Covers C# 4.0)”, “More Effective C#” by Bill Wagner, 2010, 2008

    Тема эффективности использования стала настолько популярной, что подобная литература появляется по большинству языков программирования и многим технологиям. Язык программирования C# не является исключением. Представителем серии «эффективного программирования» на языке C# являются две книги Била Вагнера. Первая книга вышла еще в 2004-м году и посвящена C# 1.0; в ней рассматриваются самые разные вопросы, начиная от различий между классами и структурами, заканчивая важностью строгой гарантии исключений и проблемами взаимодействия управляемого и неуправляемого кода. Вторая книга вышла незадолго до официального выхода C# 3.0 и уже отражает всю специфику этой версии языка и платформы. В книге рассматриваются особенности работы с обобщениями (generics), многопоточностью (в том числе и при работе с пользовательским интерфейсом), новые возможности языка C# 3.0 и отдельно рассматриваются вопросы, связанные с LINQ. В марте 2010 года вышло второе, переработанное издание первой книги, в которой отражены изменения C# 4.0, включая такие новшества как PLINQ и тип Dynamic (которому посвящена целая глава).

    Дополнительные ссылки для «More Effective C#»: amazon.com, goodreads.com

    Для эксперта

    Несмотря на всю глубину глубин книг Рихтера, Барта Де Смета или Джона Скита, есть еще более специфические и более подробные источники по конкретным темам. Так, например, ни одна из книг выше не заменит аннотированную спецификацию языка C# Андерса Хейлсберга с прекрасными комментариями ведущих экспертов нашей области. Да и какими бы полными не были разделы о параллельном и асинхронном программировании в книгах Рихтера и Албахари, ничто не сможет сравниться с книгой Джо Даффи. А если вам потребуется копнуть действительно глубоко, то вам пригодятся знания по языку IL, и о том, как IL преобразуется в машинный код, и в этом случае будут полезны книги Сергея Лидина и Саши Голштейна соответственно.

    “The C# Programming Language” by Anders Hejlsberg et al, 4 th Edition, 2010

    Можно по-разному относится к спецификации языка программирования: для некоторых она является необходимым и достаточным источником информации о языке; для других она подобна словарю, в который можно изредка заглядывать, пополняя свои знания по какой-то конкретной теме; третьи вообще не знают о ее существовании. Но как бы лично мы не относились к подобному источнику информации, нужно признать, что в некоторых случаях подобная книга является просто незаменимой. А поскольку эта книга представляет собой не только спецификацию языка, но еще и аннотации известнейших представителей из нашей области, то мы получаем достойную книгу, о которой нужно как минимум знать каждому профессиональному разработчику.

    “Concurrent Programming on Windows” by Joe Duffy, 2008

    Самый подробный труд о многопоточном программировании под Windows. Здесь покрыты практически все темы: начиная от асинхронных моделей программирования в .NET (к сожалению не покрыта TAP – Task-based Asynchronous Programming) и асинхронным вводом-выводом, заканчивая моделями памяти и lock-free. Хотите сломать себе мозг об многопоточность? Книга Джо Даффи к вашим услугам!

    В качестве дополнения к книге Джо Даффи можно посоветовать «Design Patterns for Decomposition and Coordination on Multicore Architectures», в которой покрыты TPL, PLINQ и другие темы, появившиеся уже после выхода книги Даффи.


    Дополнительные ссылки: amazon.com, goodreads.com

    “.NET 2.0 IL Assembler” by Serge L >

    Сколько раз вам приходилось декомпилировать код, чтобы понять, как работает та или иная возможность компилятора C#? Или сколько раз вы смотрели на сгенерированный IL код, чтобы понять, что происходит внутри вашего любимого кода? Обе эти задачи возникают не слишком часто, да и Рефлектор со своей задачей отлично справляется в большинстве случаев. Но, тем не менее, знание языка ассемблера виртуальной машины никогда лишним не бывает, к тому же некоторые возможности CLR доступны только через него. Ну, а если когда-нибудь у вас появится желание или необходимость пополнить свои знания «управляемого» ассемблера, то неплохо иметь под рукой (или хотя бы знать о его существовании) отличное руководство, качество которого признано многими специалистами.

    P.S. Сергей является автором языка IL;)

    “Pro .NET Performance: Optimize Your C# Applications” by Sasha Goldshtein, 2012

    Когда речь заходит о высокопроизводительных системах, то о C# и .NET Framework вспоминают в последнюю очередь. В этом есть разумное зерно, но что если вам все же нужно выжать все возможное из вашего «управляемого» приложения? В этом плане недостаточно спуститься с высокого уровня языка C# на уровень IL-кода, приходится копать глубже, на уровень машинного кода и внутренностей CLR. Именно для таких случаев нужна книга Саши Голшейна, известного блоггера и спикера.

    «Pro .NET Performance» – это уникальная на данный момент книга с описанием внутреннего устройства типов, обобщений, с описанием тонкостей сборки мусора (например, с описанием Card Table) и другими экспертными техниками.

    “Under the Hood of .NET Memory Management” by Chris Farrell, 2011

    200 страниц) книга о сборке мусора от компании Red Gate. Это отличная книга, в которой процесс сборки мусора показан несколько более детально, чем в любом другом источнике. Здесь довольно подробно описываются сегменты, card table, типичные проблемы перерасхода и утечек памяти, и даже кратко рассматривается модель памяти Windows.

    Однозначно полезная книга, если решите узнать об управляемой памяти больше, чем описано у старины Рихтера.

    Книги по проектированию

    Ни одна из книг, представленных выше не даст нужных знаний об ООП, функциональном программировании, или о дизайне приложений. Если вам нужна книга по ООД, то нет ничего лучше книги Мейера «Объектно-ориентированное конструирование программных систем», о которой я говорю трижды в день десятку человек, но пока лишь двое решились за нее взятьсяJ.

    Тем не менее, есть ряд книг о дизайне в контексте платформы .NET, на которые стоит обратить внимание. Во-первых, это знаменитая FDG – Framework Design Gu >Ни одна из этих книг не заменит фундаментальных книг о дизайне, DDD или архитектуре приложений, но отлично подойдет в качестве дополнительного источника по этим темам.

    “Framework Design Guidelines” by Krzysztof Cwalina, Brad Abrams, 2 nd Edition, 2008

    Разработка качественных систем является весьма сложной задачей, а разработка качественных библиотек (особенно фреймворков) является поистине вершиной мастерства архитекторов и разработчиков. Сложность здесь кроется в специфике принимаемых решений, ведь акцент серьезно смещается в сторону простоты и удобства использования, расширяемости и надежности. И хотя именно тема разработка библиотек является центральной, книга будет также невероятно полезна и простым разработчикам, ведь знание ключевых идиом языка является совершенно необходимым, когда команда смотрит хотя бы немного дальше своего носа, и заботится не только о написании кода, но и о его последующем сопровождении. Кроме того, книга очень часто выступает таким себе арбитром во многих спорах, касающихся идиом именования, обработке исключений, проектированию собственных классов или использованию других идиом языка C#; а поскольку такие дискуссии происходят с завидным постоянством, то подобный козырь лишним точно не будет.

    “Dependency Injection in .NET” by Mark Seemann, 2011

    Внедрение зависимостей (DI, Dependency Injection) – это уже чуть ли не де факто стандарт любого enterprise приложения. Но вот вопрос: помогает ли эта техника вместе с контейнерами создавать более простые в сопровождении и развитии системы? Не превратились ли контейнеры в очередной культ карго программирования? Поскольку любую технологию довольно легко использовать неправильно, то всегда полезно получить более фундаментальное представление о том, чем она является и чем она не является.

    Книга Марка Сиимана является довольно уникальным сборником советов, паттернов и примеров использования техники внедрения зависимостей. Поэтому не зависимо от того, являетесь ли вы сторонником или противником DI и IoC эта книга будет вам полезной.

    “The Art of Unit Testing with Examples in C#” by Roy Osherove, 2 nd Edition, 2013

    Паттерны не ограничиваются классическими паттернами, описанными в книге банды четырех. Паттерны повсюду: есть архитектурные паттерны, есть паттерны проектирования, есть DI-паттерны, есть DDD паттерны, есть паттерны рефакторинга, есть даже паттерны поведения. Точно также существуют паттерны разработки юнит-тестов. Есть типовые подходы к организации тестового кода для решения тех или иных задач. Лучшим источником по этой теме является фундаментальный труд «xUnit Test Patterns: Refactoring Test Code», а книга Роя является отличной книгой по этой же тематике в контексте платформы .NET.

    “Real-World Functional Programming: With Examples in F# and C#” by Tomas Petricek and Jon Skeet, 2010

    Что лучше ООП или ФП? Опыт последних лет (мой и многих других специалистов) показывает, что эти парадигмы не являются соперниками, а прекрасно дополняют друг друга. ООП рулит в области стратегии, а ФП незаменимо в вопросах тактики; ООП со своей абстракцией определяет крупные строительные блоки, а ФП со своей чистотой прекрасно справляется с вопросами реализации.

    В этом плане книга Томаса Петрисека (с участием Джона «Stackoverflow» Скита) не слишком уникальна, но весьма полезна, поскольку дает представление о том, как думать в функциональном стиле и как это мышление влияет на дизайн и реализацию. Отличительной же особенностью этой книги являются примеры на языках C# и F#.

    Книги по технологиям

    Я не хочу детально описывать книги по конкретным технологиям, таким как WCF, WPF, ASP.NET (+MVC), Entity Framework и других. Причин здесь несколько: во-первых, очень сложно найти книгу, которая будет *значительно* выделяться среди конкурентов; во-вторых, цена ошибки при выборе неудачной книги в этом случае не столь велика. Наверняка книга с хорошим рейтингом даст вам все необходимые знания по конкретной технологии и вряд ли сможет существенно повлиять на ваши фундаментальные знания.

    К тому же, книги по технологиям выходят настолько часто, что они устаревают буквально каждые полгода. Ниже представлен перечень книг по тройке технологий: WPF, WCF и ASP.NET MVC. Книги по другим технологиям готов обсудить в комментариях.

    Заключение

    Еще раз хочу напомнить, что не стоит переживать, если вдруг вы не увидите своей любимой книги в этом списке. Моя цель дать набор хороших источников, которые покрывают определенную нишу и потребуются разработчику на определенном этапе его карьеры; при этом вполне понятно, что есть аналогичные книги, которые ничем не хуже некоторых приведенных книг. Так, например, «C# 5.0 Essentials» вполне может заменить книгу Джо Албахари «C# 5.0 In a Nutshell», но читать их обе не имеет практически никакого смысла.

    Если же вы знаете книгу, которая действительно достойна этого списка своей уникальностью, я с удовольствием ее сюда добавлю.

    58 комментариев:

    Не правильные ты, дядя Серёжа, ссылки на книжки даёшь — сравни прайс озона http://www.ozon.ru/context/detail/id/6089823/ и альтернативного магазина, который я не так давно для себя открыл http://www.combook.ru/product/10189381/ ;о) И как не маловажное дополнение, например эта книга «там» в наличии, в отличии от озона (который, быть может, там же её и закажет :о)

    Обрадовался, побежал смотреть, чуть тапки не потерял 🙂 Однако не все так радужно — http://www.combook.ru/product/10780473/ — 692р, http://www.ozon.ru/context/detail/id/26230428/ — 614р Причем мало того, что у ozon-а еще и доставка дешевле, так он еще в нашу деревню доставляет курьерской компанией, быстро и без предоплаты, а combook — с предоплатой и только почтой 🙁
    Не, сидим на озоне 🙂

    Спасибо, понял! Виноват – не учёл.

    Я даю ссылки скорее для того, чтобы показать наличие русскоязычного издания. А потом уже каждый сам сможет решить, в каком магазине ее лучше купить: на рутрекере, озоне или где-то еще:) хотя разница в цене для некоторых книг и правда удивляет.

    Да понятно :о) Но тогда можно дать ссылку в действительно максимально универсальное мерило – в маркет яндекса ;о)

    А вот это очень ОК идея!! Нужно будет воспользоваться.

    Очень здоровоская подборка!

    Подскажите, где нибудь в Москве можно купить книги в оригинале? Или только с амазона заказать?

    Я покупал на озоне, но цены сверх суровые. Есть опыт заказа с амазона, идут не быстро, но даже с учетом доставки получается дешевле.
    Ну и всегда остается вариант купить электронную версию. Быстро и дешево.

    Хочется оставлять заметки прямо в книге, а если электронную версию то я пока не нашел вменяемого ридера с удобными заметками, может у вас есть что посоветовать?

    Я пользуюсь goodreader-ом (под iOS). Сам давно не читаю без заметок, но в электронном виде их и писать удобнее, да и просматривать их потом проще.
    Например, все мои посты в Г+ с цитатами появляются именно таким путем: делаю заметку в книге причтении, потом пересматриваю их и публикую наиболее интересные.

    Спасибо за совет, отличное приложение, стоит своих денег!

    Спасибо за статью. Как раз закончил читать Ошерова и стал искать новую книгу для чтения.

    Пара опечаток:
    >решились за нее взятьсяJ.
    >баны четырех

    И еще вопрос автору (а может и не только): стоит ли начинать изучение веб-разработки с Pro ASP.NET MVC 4?
    C# знаю достаточно хорошо (мое мнение 🙂 ), ASP.NET изучал только обзорно (на уровне книги Троелсона), с html проблем нет (но можно обновить знания), JS — совсем ни как. Хотелось бы найти книгу, после прочтения которой сформировалась бы хорошая база для разработки веб-приложений на ASP.NET. В общем какие есть рекомендации по данной теме? 🙂

    Pro ASP.NET ИМХО вполне подойдет, как и многие другие книги.
    Тут главное не искать идеальный учебник, а просто взять хороший и начать учиться;)
    За очепятки — спасибо, поправлю.

    Сергей, .net perfomance перевели — http://www.ozon.ru/context/detail/id/23816449/ можно добавить ссылку на ozon 🙂

    Ух ты!! Здорово! Обязательно добавлю ссылку.

    Книгу Эндрю Троелсен. Язык программирования C# 5.0 и платформа .NET 4.5 (6-е издание) я скачивал вот отсюда http://hitanyway.in.ua/category/develop/book-c/ . может еще кому то пригодится.

    Этот комментарий был удален автором.

    Владимир, спасибо, пригодилось!

    Сергей, спасибо за науку! Иногда удивляюсь, как люди находят время на прочтение множества книжек и блогерства, когда есть семья, дети, два-три раза в неделю спорт, то на остальное времени почти не хватает. А если еще и какие-то свои проекты.

    Со временем это просто не требует такого фундаментального количества времени.
    Обычно сложно начать, если же процесс более или менее поставлен, то усилий тратится меньше, а значит и поддерживать читательский интерес — тоже проще.

    Хочу спросить Вас, вот сейчас я прохожу как раз Абельсона и Сассмана по Вашей рекомендации. Эта книга у меня вторая (первая книга была по javaScript) и мне приходится прилагать большие усилия для решения каждой задачи. Пока я осилил лишь 20 самых первых. Одну задачу могу решать целый день. Неужели мне придется целый год одну эту книгу проходить? Или стоит параллельно читать две другие книги для новичков? Я просто не хотел бы брать везде по чуть-чуть, а в итоге не понять ничего. Надеюсь вопрос не глупый)

    По сути, книга Сассмана — это полноценный университетский курс, рассчитанный на два семестра. Если вы еще и работаете, то усилия спокойно могут распределиться на год.

    Я бы тут посоветовал два момента: во-первых, разумнее подойти к упражнениям. Возможно, нужно более здраво оценивать, какие из них выполнять, а какие нет. Понятно, что перфекционизм может требовать сделать их все, но тут главное, чтобы он (перфекционизм) не прибил желание учиться и идти дальше. Во-вторых, есть смысл делать «итерации» в несколько недель-месяц (зависит от вас) и переключаться на что-то другое. Тут, опять таки, важно держать мотивацию на должном уровне. Данная книга — не вполне практична, что может негативно сказаться на мотивации. В этом случае лучше совместить ее с чем-то более полезным на практике в данный момент.

    З.Ы. Вопрос — не глупый:) Риск взяться за слишком многое и не преуспеть ни с чем — проявляется на практике с завидным постоянством.

    Я сейчас учусь на 3 курсе, и пока не знаю где применять знания из этой книги. Надвигается лето и будет много свободного времени. Допустим я буду решать упражнения из sicp, где рекурсивные процедуры используются для решения математических задач, поэтому у меня выстраивается картинка калькулятора. Значит мне им и заниматься? Или есть книга, где есть более полезные упражнения?

    Спасибо! Хорошая подборка.
    От себя могу добавить только то, что для тех, кому больше нравится смотреть видео, есть классный портал http://itvdn.com/. Я начинал именно с них, а потом уже читал книги. Может быть, кому-то пригодится.

    Добрый день, у вас рецензия на Скита перенаправляет на рецензию Вагнера.

    И еще вот тут: «Если вам нужна книга по ООД»

    А что Вы можете сказать про книгу «Герберт Шилдт — C# 4.0. Полное руководство — 2011» ?

    С него начинал изучать c#, очень хорошая книга

    Сергей, как считаешь, книга Албахари C# 5.0 In a Nutshell и CLR via C# Рихтера, взаимозаменяемы?

    Если книги Албахари и Гриффитса нацелены на изучение темы «в ширину», то CLR via C# уходит «в глубину».

    Согласен с @Shnur: они не совсем взаимозаменяемы, поскольку Рихетр больше направлен на внутренности платформы, а Албахари покрывает большой объем материала, но не с такой глубиной.

    Уважаемый Сергей! С вашим списком литературы по языку C# я солидарен. Мне кажется, что можно было добавить ещё три книги, которые весьма удачные:
    1.Mark Michaelis, Eric Lippert Essential C# 6.0
    2.Eric Gunnerson, Nick Wienholt A Programmer’s Guide to C# 5.0
    3.Иэн Гриффитс Программирование на C# 5.0

    Владимир, я лично немного знаком с первой книгой, но не знаком с остальными. А чем они хороши, и в чем они выделяются из книг, которые уже есть в списке? (вопрос это довольно интересен, поскольку я, как потенциальный читатель, хотел бы понимать, как именно выбирать среди такого огромного списка книг).

    О, спасибо! Пропустил книжку Гуннерсона. Должно быть интересно.

    Добрый день, Владимир! Подскажите пожалуйста если эти книги есть в открытом доступе или их можно только приобрести, что достаточно хорошо бьёт по карману. Спасибо!

    Сергей! Прежде всего, хочу сказать, что рад знакомству с вашей книгой и блогом. Большая редкость встретить талантливого русско-язычного автора, умеющего умно, интересно, ясно и доходчиво излагать сведения, связанные с профессиональным программированием. Важно, что вы даёте своё понимание, свой взгляд, свою интерпретацию и пишете своим стилем. Ваша книга выделяется не только профессионализмом, но и тем, как она структурирована. Кто ясно мыслит, тот ясно излагает – это в полной мере относится к вам. Желаю вам продолжить писательское творчество — ведь программистам, живущим в России, естественно, лучше читать качественную специальную литературу именно на родном русском языке.
    Теперь о выборе книг. Человеку, приступившему к изучению языка C#, сделать правильный выбор наиболее подходящих и лучших книг из нескольких десятков уже имеющихся, — это не тривиальная задача. Важен выбор именно первой книги.
    Несколько лет назад, я начал изучать язык C# 4.0 и стал искать подходящую книгу. Прочитал множество книг, в том числе и на английском языке. Удивился тому, что нет книги, в которой на 350 стр. было бы ясное и полное изложение всего инструментария этого языка. При изучении нового языка программирования, хочется быстрее узнать все его возможности, а не брести через многословные описания примеров тысяче-страничных учебников. Мне был нужен удобный учебник (примерно 300-350 стр.) для первого чтения, но не просто для «чайников», а формирующий базовые знания программиста на C#.
    Для первой книги совершенно не подходит 1000 страничный «кирпич» Троелсена. Он напихал туда, как вы сами об этом уже говорили, массу всего, что связано с применением C# и плохо структурировал материал конкретно о языке C#. Непродуманные группировка и порядок изложения сведений о всех имеющихся средств этого языка – вот чем часто грешат авторы учебников. Книга “C# 5.0 Unleashed” by Bart De Smet великолепно написанная, энциклопедическая книга и гораздо лучше, чем у Троелсена, но там ведь 1500 стр. Это существенно затягивает процесс узнавания всех средств языка. В качестве первой книги тоже не годится, а вот второй книгой – обязательно должна быть!
    Книга, которая, по-моему, лучше подходит на роль первой – это Eric Gunnerson, Nick Wienholt A Programmer’s Guide to C# 5.0. Она не только хорошо структурирована и упорядочена, но там всего 400 стр. и ясный стиль изложения.
    Что касается меня, то в итоге, я сам для себя написал книгу и назвал её «C# 6.0 — Концентрированный учебник». В ней изложено фактически всё, что я усвоил из множества прочитанных книг по C# (книги из вашего списка я тоже читал). Конечно, в моём учебнике всё творчески переработано, со своими примерами, по-своему упорядоченно так, чтобы уместилось на 330 стр. но, ничего важного не было упущено.
    Посоветуйте, пожалуйста, возможно ли реализовать на этой основе проект создания бесплатного коллективного учебника по C#? Идея состоит в том, чтобы где-нибудь выложить свой текст и предоставить возможность всем желающим писать свои комментарии и свои добавления, как приложение к основному тексту, который будет продолжать составлять объём не более 350 стр. Все желающие смогут принять участие с целью совершенствования и развития этого учебника. Такой учебник будет оставаться совершенно бесплатным и доступным для всех, кто хочет освоить язык C#.

    Мастер Йода рекомендует:  15 лучших параллакс-плагинов для Wordpress

    Владимир, спасибо за столь развернутый комментарий (только недавно увидел, что он попал изначально в спам и из-за этого не был виден какое-то время).

    4 лучших бесплатных книг по C#

    Many moons ago (circa 2001), I was given the opportunity to write a book on a forthcoming Microsoft technology that was, at the time, dubbed NGWS (Next Generation Windows Software). As I began to examine the source code provided by Microsoft, I noticed numerous code comments referring to the “COOL” (Common Object Oriented Language) programming language

    19.04.2014
    Sudipta Mukherjee-.Net 4.0 Generetics Begginers Gu >Скачиваний: 887

    This book will show you everything you need to start writing type-safe applications using generic data structures available in Generics API. You will also see how you can use several collections for each task you perform.

    25.12.2013
    Zend Framework 1.8 Web Application Development

    As web developers we are always looking for ways to improve our systems and working practices. We have to move fast and handle ever-changing requirements from our managers, although this is what makes our work so exciting and challenging. A very important tool that can meet today’s fast-changing needs is the basic framework you use to build your application.

    25.12.2013
    Эндрю Троелсен — ЯЗЫК ПРОГРАММИРОВАНИЯ C#5.0 И ПЛАТФОРМА .NET 4.5

    Много лет тому назад технологии (примерно Microsoft, в 2001 г.) которая я получил на возможность то время называлась написать NGWS книгу (Next Generation Windows Software — программное обеспечение Windows нового поко¬ ления). Когда я начал исследовать исходный код, предоставленный Microsoft, то отме¬ тил многократные ссылки на язык программирования COOL (Common Object Oriented Language — общий объектно-ориентированный язык).

    03.07.2013
    Лутай С., Байдачный С. — Windows 8 для C# разработчиков

    Данная книга не является официальным руководством по разработке приложений Windows 8, поэтому может содержать ошибки и неточности. Весь материал книги отражает только личное мнение авторов и не может трактоваться как официальная позиция.

    01.07.2013
    Макурин Ю.Д., Сивохин А.В. — Проектирование и реализация баз данных и клиентских приложений в среде MS Visual Studio.NET

    Рассматриваются вопросы применения визуальной объектно-ориентированной среды MS Visual Studio.NET для создания баз данных и клиентских приложений на основе технологии клиент-сервер. Изложение материала начинается с анализа предметной области, выделения ее сущностей, определения атрибутов этих сущностей, установления связей между ними и обоснования выбора реляционной модели данных.

    30.06.2013
    Робисон У. — C# без лишних слов

    Язык программирования C# — одна из важнейших составных частей платформы .NET, разработанной компанией Microsoft. В предлагаемом издании содержится ясное, полное и лаконичное описание языка. На первый взгляд кажется, что C# похож на C++ и Java, но в данной книге говорится и о существенных различиях между ними.

    Учебники по C# C# Tutorials

    Приветствуем вас в разделе с руководствами по языку C#. Welcome to the C# tutorials. Она начинается с интерактивных занятий, которые можно проходить в браузере. These start with interactive lessons that you can run in your browser. Последующие и расширенные руководства обучают работе со средствами разработки .NET для создания программ на C# на компьютере. Later tutorials and more advanced tutorials help you work with the .NET development tools to create C# programs on your machine.

    Знакомство с C#: интерактивные руководства Introduction to C# interactive tutorials

    Если вы хотите начать изучение в формате видео, просмотрите серию видеороликов «C# для начинающих», в которой содержатся общие сведения о языке C#. If you want to start your exploration in video format, the C# 101 video series provides an introduction to C#. Ознакомившись с этими учебниками, вы узнаете об основных понятиях языка C#. You’ll learn about concepts you can explore in these tutorials.

    В первых занятиях с помощью небольших фрагментов кода объясняются основные понятия языка C#. The first lessons explain C# concepts using small snippets of code. Вы изучите основы синтаксиса C# и научитесь работать с такими типами данных, как строки, числа и логические значения. You’ll learn the basics of C# syntax and how to work with data types like strings, numbers, and booleans. Вся серия интерактивна, и уже через считанные минуты вы будете писать и запускать собственный код. It’s all interactive, and you’ll be writing and running code within minutes. Для первых занятий не требуются какие-либо знания в области программировании или опыт работы с языком C#. These first lessons assume no prior knowledge of programming or the C# language.

    Hello world Hello world

    В руководстве Hello World вы создадите самую простую программу на C#. In the Hello world tutorial, you’ll create the most basic C# program. Вы ознакомитесь с типом string и способами работы с текстом. You’ll explore the string type and how to work with text.

    Числа в C# Numbers in C#

    Из руководства Числа в C# вы узнаете, как на компьютере хранятся числа и как выполнять вычисления с разными числовыми типами. In the Numbers in C# tutorial, you’ll learn how computers store numbers and how to perform calculations with different numeric types. Вы ознакомитесь с основами округления и научитесь выполнять математические вычисления с помощью C#. You’ll learn the basics of rounding, and how to perform mathematical calculations using C#. Это руководство можно изучить, используя локальный компьютер. This tutorial is also available to run locally on your machine.

    В этом руководстве предполагается, что вы уже прошли занятие Hello World. This tutorial assumes that you have finished the Hello world lesson.

    Ветви и циклы Branches and loops

    В руководстве Ветви и циклы представлены общие принципы организации ветвления кода в зависимости от значений, хранящихся в переменных. The Branches and loops tutorial teaches the basics of selecting different paths of code execution based on the values stored in variables. Вы узнаете, что такое поток управления, являющийся основой принятия решений и выбора различных действий в программах. You’ll learn the basics of control flow, which is the basis of how programs make decisions and choose different actions. Это руководство можно изучить, используя локальный компьютер. This tutorial is also available to run locally on your machine.

    В этом руководстве предполагается, что вы уже прошли занятия Hello World и Числа в C#. This tutorial assumes that you have finished the Hello world and Numbers in C# lessons.

    Коллекция списков List collection

    Занятие Коллекция списков содержит обзор типа «Коллекция списков», в котором хранятся последовательности данных. The List collection lesson gives you a tour of the List collection type that stores sequences of data. Вы узнаете, как добавлять и удалять элементы, выполнять их поиск и сортировать списки. You’ll learn how to add and remove items, search for items, and sort the lists. Вы ознакомитесь с различными типами списков. You’ll explore different kinds of lists. Это руководство можно изучить, используя локальный компьютер. This tutorial is also available to run locally on your machine.

    В этом руководстве предполагается, что вы уже прошли перечисленные выше занятия. This tutorial assumes that you have finished the lessons listed above.

    Знакомство с C#: работа в локальной среде Introduction to C# — work locally

    Все ознакомительные руководства, в которых используется пример приложения «Hello World», можно проходить в локальной среде разработки. All the introductory tutorials following the Hello World lesson are available in your own local development environment. В конце каждого руководства вам предлагается на выбор возможность пройти следующее занятие в браузере или на локальном компьютере. At the end of each tutorial, you decide if you want to continue with the next lesson online or on your own machine. Чтобы настроить среду и продолжить изучение следующего руководства на компьютере, можно воспользоваться соответствующими ссылками. There are links to help you setup your environment and continue with the next tutorial on your machine.

    Обзор новых возможностей в C# Explore new features in C#

    • Ознакомьтесь с новыми функциями C# 6 в интерактивном режиме: испытайте новые возможности C# 6 в интерактивном режиме с помощью браузера. Try new features in C# 6 interactively: Explore the features added in C# 6 interactively in your browser.
    • Строка интерполяции. Демонстрирует, как использовать интерполяцию строк для создания форматированных строк в C#. String Interpolation: demonstrates how to use string interpolation to create formatted strings in C#.
    • Ссылочные типы, допускающие значение NULL. Демонстрируется использование ссылочных типов, допускающих значение NULL, для выражения намерения относительно пустых ссылок. Nullable reference types: demonstrates how to use nullable reference types to express your intent for null references.
    • Обновление проекта для использования ссылочных типов, допускающих значение NULL: описание способов обновления существующего проекта для использования ссылочных типов, допускающих значение NULL. Update a project to make use of Nullable reference types: demonstrates techniques to upgrade an existing project to make use of nullable reference types.
    • Расширение возможностей обработки данных с помощью сопоставления шаблонов: описание способов использования сопоставления шаблонов для расширения ключевых функций типов. Extend data capabilities using pattern matching: demonstrates how to use pattern matching to extend types beyond their core features.
    • Работа с последовательностями данных с использованием индексов и диапазонов: описан новый удобный синтаксис для доступа к отдельным элементам или диапазонам контейнера последовательных данных. Work with data sequences using indexes and ranges: Demonstrates new convenient syntax for accessing single elements or ranges of a sequential data container.

    Общие руководства General Tutorials

    Следующие руководства позволяют создавать программы на C# с использованием .NET Core. The following tutorials enable you to build C# programs using .NET Core:

    • Консольное приложение. Демонстрирует консольный ввод-вывод, структуру консольного приложения и модель асинхронного программирования на основе задач. Console Application: demonstrates Console I/O, the structure of a Console application, and the basics of the task-based asynchronous programming model.
    • Клиент REST. Демонстрирует веб-взаимодействие, сериализацию JSON и объектно ориентированные функции языка C#. REST Client: demonstrates web communications, JSON serialization, and object-oriented features in the C# language.
    • Inheritance in C# and .NET (Наследование в C# и .NET). Демонстрирует наследование в C#, в том числе использование наследования для определения базовых классов, абстрактных базовых классов и производных классов. Inheritance in C# and .NET: demonstrates inheritance in C#, including the use of inheritance to define base classes, abstract base classes, and derived classes.
    • Working with LINQ (Работа с LINQ). Демонстрирует множество функций LINQ и элементы языка, которые их поддерживают. Working with LINQ: demonstrates many of the features of LINQ and the language elements that support it.
    • Использование атрибутов. Описывает создание и использование атрибутов в C#. Using Attributes: demonstrates how to create and use attributes in C#.
    • В руководстве Интерполяция строк демонстрируется, как вставлять значения в строки. String interpolation tutorial shows you how to insert values into a string. Вы узнаете, как создать интерполированную строку с внедренными выражениями C# и как управлять текстовым представлением результатов выражений в итоговой строке. You’ll learn how to create an interpolated string with embedded C# expressions and how to control the text appearance of the expression results in the result string. Это руководство можно изучить, используя локальный компьютер. This tutorial is also available to run locally on your machine.

    Герберт Шилдт — C# 4.0: полное руководство

    99 Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания.

    Скачивание начинается. Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

    Описание книги «C# 4.0: полное руководство»

    Описание и краткое содержание «C# 4.0: полное руководство» читать бесплатно онлайн.

    В этом полном руководстве по C# 4.0 — языку программирования, разработанному специально для среды .NET, — детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.

    Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

    Полное руководство С#4.0

    Герберт Шилдт (Herbert Schildt) является одним из самых известных специалистов по языкам программирования С#, C++, С и Java. Его книги по программированию изданы миллионными тиражами и переведены с английского на все основные иностранные языки. Его перу принадлежит целый ряд популярных книг, в том числе Полный справочник по Java, Полный справочник по C++, Полный справочник по С (все перечисленные книги вышли в издательстве «Вильямс» в 2007 и 2008 гг.). Несмотря на то что Герберт Шилдт интересуется всеми аспектами вычислительной техники, его основная специализация — языки программирования, в том числе компиляторы, интерпретаторы и языки программирования роботов. Он также проявляет живой интерес к стандартизации языков. Шилдт окончил Иллинойский университет и имеет степени магистра и бакалавра. Связаться с ним можно, посетив его веб-сайт по адресу www.HerbSchildt.com.

    О научном редакторе

    Майкл Ховард (Michael Howard) работает руководителем проекта программной защиты в группе техники информационной безопасности, входящей в подразделение разработки защищенных информационных систем (TwC) корпорации Microsoft, где он отвечает за внедрение надежных с точки зрения безопасности методов проектирования, программирования и тестирования информационных систем в масштабах всей корпорации. Ховард является автором методики безопасной разработки (Security Development Lifecycle — SDL) — процесса повышения безопасности программного обеспечения, выпускаемого корпорацией Microsoft.

    Свою карьеру в корпорации Microsoft Ховард начал в 1992 году, проработав два первых года с ОС Windows и компиляторами в службе поддержки программных продуктов (Product Support Services) новозеландского отделения корпорации, а затем перейдя в консультационную службу (Microsoft Consulting Services), где он занимался клиентской поддержкой инфраструктуры безопасности и помогал в разработке заказных проектных решений и программного обеспечения. В 1997 году Ховард переехал в Соединенные Штаты и поступил на работу в отделение Windows веб-службы Internet Information Services, представлявшей собой веб-сервер следующего поколения в корпорации Microsoft, прежде чем перейти в 2000 году к своим текущим служебным обязанностям.

    Ховард является редактором журнала IEEE Security & Privacy, часто выступает на конференциях, посвященных безопасности программных средств, и регулярно пишет статьи по вопросам безопасного программирования и проектирования программного обеспечения. Он является одним из авторов шести книг по безопасности информационных систем.

    Особая благодарность выражается Майклу Ховарду за превосходное научное редактирование книги. Его знания, опыт, дельные советы и предложения оказались неоценимыми.

    Программисты — люди требовательные, постоянно ищущие пути повышения производительности, эффективности и переносимости разрабатываемых ими программ. Они не менее требовательны к применяемым инструментальным средствам и особенно к языкам программирования. Существует немало языков программирования, но лишь немногие из них действительно хороши. Хороший язык программирования должен быть одновременно эффективным и гибким, а его синтаксис — кратким, но ясным. Он должен облегчать создание правильного кода, не мешая делать это, а также поддерживать самые современные возможности программирования, но не ультрамодные тенденции, заводящие в тупик. И наконец, хороший язык программирования должен обладать еще одним, едва уловимым качеством: вызывать у нас такое ощущение, будто мы находимся в своей стихии, когда пользуемся им. Именно таким языком и является С#.

    Язык C# был создан корпорацией Microsoft для поддержки среды .NET Framework и опирается на богатое наследие в области программирования. Его главным разработчиком был Андерс Хейльсберг (Anders Hejlsberg) — известнейший специалист по программированию. C# происходит напрямую от двух самых удачных в области программирования языков: С и C++. От языка С он унаследовал синтаксис, многие ключевые слова и операторы, а от C++ — усовершенствованную объектную модель. Кроме того, C# тесно связан с Java — другим не менее удачным языком.

    Имея общее происхождение, но во многом отличаясь, C# и Java похожи друг на друга как близкие, но не кровные родственники. В обоих языках поддерживается распределенное программирование и применяется промежуточный код для обеспечения безопасности и переносимости, но отличия кроются в деталях реализации. Кроме того, в обоих языках предоставляется немало возможностей для проверки ошибок при выполнении, обеспечения безопасности и управляемого исполнения, хотя и в этом случае отличия кроются в деталях реализации. Но в отличие от Java, язык C# предоставляет доступ к указателям — средствам программирования, которые поддерживаются в C++. Следовательно, C# сочетает в себе эффективность, присущую C++, и типовую безопасность, характерную для Java. Более того, компромиссы между эффективностью и безопасностью в этом языке программирования тщательно уравновешены и совершенно прозрачны.

    На протяжении всей истории вычислительной техники языки программирования развивались, приспосабливаясь к изменениям в вычислительной среде, новшествам в теории языков программирования и новым тенденциям в осмыслении и подходе к работе программистов. И в этом отношении C# не является исключением. В ходе непрерывного процесса уточнения, адаптации и нововведений C# продемонстрировал способность быстро реагировать на потребности программистов в переменах. Об этом явно свидетельствуют многие новые возможности, введенные в C# с момента выхода исходной версии 1.0 этого языка в 2000 году.

    Рассмотрим для примера первое существенное исправление, внесенное в версии C# 2.0, где был введен ряд свойств, упрощавших написание более гибкого, надежного и быстро действующего кода. Без сомнения, самым важным новшеством в версии C# 2.0 явилось внедрение обобщений. Благодаря обобщениям стало возможным создание типизированного, повторно используемого кода на С#. Следовательно, внедрение обобщений позволило основательно расширить возможности и повысить эффективность этого языка.

    А теперь рассмотрим второе существенное исправление, внесенное в версии C# 3.0. Не будет преувеличением сказать, что в этой версии введены свойства, переопределившие саму суть C# и поднявшие на новый уровень разработку языков программирования. Среди многих новых свойств особенно выделяются два следующих: LINQ и лябмда-выражения. Сокращение LINQ означает язык интегрированных запросов. Это языковое средство позволяет создавать запросы к базе данных, используя элементы С#. А лябмда-выражения — это синтаксис функционалов с помощью лямбда-оператора =>, причем лябмда-выражения часто применяются в LINQ-выражениях.

    И наконец, третье существенное исправление было внесено в версии C# 4.0, описываемой в этой книге. Эта версия опирается на предыдущие и в то же время предоставляет целый ряд новых средств для рационального решения типичных задач программирования. В частности, в ней внедрены именованные и необязательные аргументы, что делает более удобным вызов некоторых видов методов; добавлено ключевое слово dynamic, упрощающее применение C# в тех случаях, когда тип данных создается во время выполнения, например, при сопряжении с моделью компонентных объектов (СОМ) или при использовании рефлексии; а средства ковариантности и контравариантности, уже поддерживавшиеся в С#, были расширены с тем, чтобы использовать параметры типа. Благодаря усовершенствованиям среды .NET Framework, представленной в виде библиотеки С#, в данной версии поддерживается параллельное программирование средствами TPL (Task Parallel Library — Библиотека распараллеливания задач) и PLINQ (Parallel LINQ — Параллельный язык интегрированных запросов). Эти подсистемы упрощают создание кода, который масштабируется автоматически для более эффективного использования компьютеров с многоядерными процессорами. Таким образом, с выпуском версии C# 4.0 появилась возможность воспользоваться преимуществами высокопроизводительных вычислительных платформ.

    Благодаря своей способности быстро приспосабливаться к постоянно меняющимся потребностям в области программирования C# по-прежнему остается живым и новаторским языком. А следовательно, он представляет собой один из самых эффективных и богатых своими возможностями языков в современном программировании. Это язык, пренебречь которым не может позволить себе ни один программист. И эта книга призвана помочь вам овладеть им.

    В этой книге описывается версия 4.0 языка С#. Она разделена на две части. В части I дается подробное пояснение языка С#, в том числе новых средств, внедренных в версии 4.0. Это самая большая часть книги, в которой описываются ключевые слова, синтаксис и средства данного языка, а также операции ввода-вывода и обработки файлов, рефлексия и препроцессор.

    Добавить комментарий