20+ бесплатных онлайн-курсов по c#
Содержание:
- Содержание раздела
- Выпуски
- Шаг 3. Установка установщика Visual Studio
- Программы и сервисы для веба
- На что обратить внимание при выборе среды разработки
- Синтаксис
- Вопросы и ответы
- Шаг 1. Подготовка компьютера к установке Visual Studio
- Среда разработки (IDE)
- C# версии 9.0
- Справочник по версиям языка C#
- Создание приложения
- Игры и программы для разных мобильных платформ
- C# версии 4.0
- Visual Studio
Содержание раздела
Ключевые слова в C#
Ссылки на сведения о ключевых словах и синтаксисе языка C#.
Операторы в C#
Ссылки на сведения об операторах и синтаксисе языка C#.
Специальные символы в C#
Предоставляет ссылки на сведения о специальных контекстные символов в C# и их использовании.
Директивы препроцессора C#
Ссылки на сведения о командах компилятора для внедрения в исходном коде C#.
Параметры компилятора C#
Сведения о параметрах компилятора и их использовании.
Ошибки компилятора C#
Фрагменты кода, демонстрирующие причины и способы исправления ошибок и предупреждений компилятора C#.
Спецификация языка C#
Спецификация языка C# версии 6.0 Это черновой вариант для языка C# версии 6.0. Этот документ будет пересмотрен в рамках работы с комитетом по стандартам C# ECMA. Версия 5.0 была выпущена в декабре 2017 г. как стандартный 5-й выпуск ECMA-334.
Возможности, которые были реализованы в языке C# версий более поздних чем 6.0, представлены в предложениях по спецификации языка. В этих документах описываются изменения спецификации языка, связанные с добавлением новых функций. Это черновой вариант для формы. Эти спецификации будут улучшены и отправлены в комитет по стандартам ECMA для официального анализа и внедрения в будущую версию стандарта C#.
Предложения по спецификации C# 7.0
В версии C# 7.0 реализован ряд новых возможностей, включая сопоставления шаблонов, локальные функции, объявления выходной переменной, выражения throw, двоичные литералы и разделители между цифрами. Эта папка содержит спецификации для каждой из этих функций.
Предложения по спецификации C# 7.1
В версию C# 7.1 добавлено несколько новых возможностей. Можно написать метод , возвращающий или . Это позволяет добавлять модификатор в метод . Выражение можно использовать без типа в тех расположениях, где возможен вывод типа. Кроме того, появилось еще одно дополнительное усовершенствование: вывод имен элементов кортежа. И, наконец, сопоставление шаблонов можно использовать с универсальными шаблонами.
Предложения по спецификации C# 7.3
Версия C# 7.3 является очередным промежуточным выпуском, содержащим несколько небольших обновлений. К параметрам универсальных типов можно применять новые ограничения. Другие изменения упрощают работу с полями , включая использование выделений . Локальные переменные, объявленные с ключевым словом , можно переназначать для указания на новое хранилище. Можно применять атрибуты к автоматически реализуемым свойствам, предназначенным для созданного компилятором резервного поля. Переменные выражений можно использовать в инициализаторах. Кортежи можно проверять на равенство (или неравенство). Кроме того, были внесены некоторые улучшения в разрешение перегрузки.
Предложения по спецификации C# 8.0
Версия C# 8.0 доступна для .NET Core 3.0. В число возможностей входят использование ссылочных типов, допускающих значения NULL, рекурсивное сопоставление шаблонов, методы интерфейса по умолчанию, асинхронные потоки, диапазоны и индексы, использование шаблонов и объявлений using, назначение объединения со значением NULL и члены экземпляров с доступом только на чтение.
Предложения по спецификации C# 9.0
Версия C# 9.0 доступна для .NET 5.0. Предлагаемые функции включают записи, инструкции верхнего уровня, усовершенствованное сопоставление шаблонов, методы задания только для инициализации, выражения new с целевым типом, модульные инициализаторы, расширение методов partial, статические анонимные функции, условные выражения с целевым типом, ковариантные типы возвращаемого значения, метод расширения GetEnumerator в циклах foreach, пустые переменные в качестве параметров лямбда-выражений, атрибуты для локальных функций, целочисленные значения с системным размером, указатели на функцию, подавляемое порождение флага localsinit и аннотации для параметров неограниченного типа.
Выпуски
Среда Visual Studio доступна для Windows и Mac. Функции Visual Studio для Mac аналогичны возможностям Visual Studio 2017 и оптимизированы для разработки кроссплатформенных и мобильных приложений. Эта статья посвящена версии Visual Studio 2017 для Windows.
Существует три выпуска Visual Studio: Community, Professional и Enterprise. Сведения о функциях, поддерживаемых в каждом выпуске, см. на странице Сравнение выпусков Visual Studio.
Среда Visual Studio доступна для Windows и Mac. Функции Visual Studio для Mac во многом аналогичны возможностям Visual Studio 2019 и оптимизированы для разработки кроссплатформенных и мобильных приложений. Эта статья посвящена версии Visual Studio 2019 для Windows.
Существует три выпуска Visual Studio 2019: Community, Professional и Enterprise. Сведения о функциях, поддерживаемых в каждом выпуске, см. на странице Сравнение выпусков Visual Studio.
Шаг 3. Установка установщика Visual Studio
Запустите файл начального загрузчика, чтобы установить Visual Studio Installer. Новый установщик имеет меньший размер и включает все необходимое для установки и настройки Visual Studio.
-
В папке Загрузки дважды щелкните файл начального загрузчика, имя которого совпадает с именем одного из следующих файлов или похоже на них:
- vs_community.exe для Visual Studio Community.
- vs_professional.exe для Visual Studio Professional;
- vs_enterprise.exe для Visual Studio Enterprise;
Если появляется оповещение системы контроля учетных записей, нажмите кнопку Да.
-
Мы попросим вас принять условия лицензии и заявление о конфиденциальности корпорации Майкрософт. Нажмите Продолжить.
Программы и сервисы для веба
C# можно использовать для создания веб-приложений. Работает так:
- У вас есть компьютер-сервер, на котором работает серверный софт Microsoft.
- Серверный софт умеет исполнять код на нескольких языках, среди них — C#.
- Где-то из интернета в этот сервер прилетает запрос, например «выдай мне главную страницу».
- Серверный софт компонует веб-страницу и пуляет обратно пользователю. Как и из чего компонуется эта страница — это и есть то, что нужно разработать в веб-приложении.
Теоретически вы можете написать приложение для п. 2 на любом языке, который поддерживает серверные решения Microsoft, в некоторых случаях это может быть и PHP. Но эксперты говорят, что для софта Microsoft есть смысл писать на их языке C#.
Сразу скажем: в большинстве бытовых и любительских проектов вам будет достаточно даже не приложения на C# (или Python, Ruby или PHP), а уже готового решения. Например, если нужен блог, лучше запустить его на хостинге WordPress и просто начать им пользоваться. Это не самый быстрый софт и не самый гибкий, но его запуск займёт у вас 15 минут, а не 15 недель.
А вот на сложных высоконагруженных сайтах WordPress уже не потянет — нужны другие технологии. И тут уже требуются глубокие знания: на одном железе и с одним стеком технологий лучше всего будет работать C#, на другом — PHP, на третьем — Ruby и т. д.
На что обратить внимание при выборе среды разработки
1. Поддержка нужной вам операционной системы (ОС)
Особое внимание этому пункту стоит уделить, если вы работаете в команде. Лучше всего отдавать предпочтение кроссплатформенным решениям
2. Возможности совместной разработки. Это опять же относится к командам, собирающимся работать с общим репозиторием. Многие платформы, которые мы рассмотрим ниже, интегрируются с Git.
3. Поддерживаемые языки (программирования, разумеется). Здесь не забывайте о долгосрочной перспективе — вдруг когда-нибудь вы решите добавить в проект возможности, реализуемые на каком-либо другом языке. Стоит выбрать среду, которая поддерживает несколько языков программирования.
4. Цена вопроса. Есть много бесплатных решений с открытым исходным кодом. Однако, как обычно бывает почти со всем подобным программным обеспечением, стоимость зависит от количества доступных функций.
Чтобы помочь вам определиться, мы собрали 10 лучших IDE и редакторов кода, которые поддерживают популярные языки для веб-разработки (HTML, CSS, JavaScript, PHP и Python). Сразу оговоримся, что это не топ, а список (первый — не значит лучший, последний — не значит самый плохой). Поэтому вы можете выбирать любой инструмент, исходя из своих нужд и предпочтений.
Примечание: все указанные цены актуальны на момент написания материала.
Синтаксис
Основной синтаксис языка C # аналогичен синтаксису других языков C-стиля, таких как C, C ++ и Java, в частности:
- Точка с запятой используется для обозначения конца инструкции.
- Фигурные скобки используются для группировки операторов. Операторы обычно группируются в методы (функции), методы в классы и классы в пространства имен .
- Переменные назначаются с использованием знака равенства , но сравниваются с использованием двух последовательных знаков равенства .
- Квадратные скобки используются с массивами как для их объявления, так и для получения значения по заданному индексу в одном из них.
Вопросы и ответы
1. Какое разрешение у видео?
2K (2560×1440)
2. Какова продолжительность курса?
Курс состоит из 90 уроков общей продолжительностью чуть более 16 часов.
3. Актуальная ли информация в курсе?
Этот курс вышел осенью 2020-го года, поэтому, безусловно, да, информация актуальная. А когда она становится уже не совсем актуальной, то курс снимается с продаж и выпускается его новая версия.
4. Выдаётся ли сертификат?
Да, сертификат выдаётся.
5. Можно ли оплатить картой в гривнах/долларах/евро?
Да, можно. При оплате произойдёт автоматическая конвертация по курсу Вашего банка.
6. Карты МИР принимаются?
Да, принимаются.
7. Есть ли упражнения в курсе?
Да, упражнения идут практически к каждому уроку, за исключением нескольких чисто теоретических уроков.
8. Есть ли защита у курса? Можно ли будет его посмотреть на разных компьютерах?
Защита у курса есть. Активировать его можно будет на 3-х различных устройствах.
9. После переустановки операционной системы потребуется ли замена лицензионного ключа?
Нет, не потребуется, так как лицензионный ключ привязывается к «железу» устройства, а не к его операционной системе.
10. Нужен ли доступ в Интернет для просмотра уроков?
Интернет нужен только во время активации, которая проводится лишь единожды. Для последующего использования курса Интернет не обязателен.
11. Можно ли будет посмотреть курс на Mac?
Да, можно будет.
12. Можно ли заказать курс на дисках?
Да, можно. Для этого при оформлении заказа надо указать способ доставки: «По почте»
Однако, обратите внимание, что этот способ дороже, так как требует оплату изготовления бокса, дисков, а также стоимости самой доставки.
13. Нужно ли знание английского языка?
Для успешного прохождения курса точно не нужно
Однако, в будущем для решения каких-то проблем очень часто приходится искать информацию на англоязычных форумах, тут-то он и пригодится. Правда, я знаю, что многие используют онлайн-переводчики, и так же успешно находят ответ на свой вопрос на англоязычных сайтах без знаний английского языка.
14. У меня остались ещё вопросы. Куда мне их написать?
Любые вопросы можете задать в мою службу поддержки: https://support.myrusakov.ru/ask
Шаг 1. Подготовка компьютера к установке Visual Studio
Перед началом установки Visual Studio:
-
Проверьте требования к системе. Так вы узнаете, поддерживает ли ваш компьютер Visual Studio 2017.
-
Примените актуальные обновления Windows. Эти обновления гарантируют, что на компьютере установлены последние обновления для системы безопасности и необходимые системные компоненты для Visual Studio.
-
Перезагрузите систему. Перезагрузка гарантирует, что ожидающие установки или обновления компоненты не будут препятствовать установке Visual Studio.
-
Освободите место. Удалите ненужные файлы и приложения с системного диска. Например, запустите приложение очистки диска.
-
Проверьте требования к системе. Так вы узнаете, поддерживает ли ваш компьютер Visual Studio 2019.
-
Примените актуальные обновления Windows. Эти обновления гарантируют, что на компьютере установлены последние обновления для системы безопасности и необходимые системные компоненты для Visual Studio.
-
Перезагрузите систему. Перезагрузка гарантирует, что ожидающие установки или обновления компоненты не будут препятствовать установке Visual Studio.
-
Освободите место. Удалите ненужные файлы и приложения с системного диска. Например, запустите приложение очистки диска.
-
Проверьте требования к системе. Так вы узнаете, может ли ваш компьютер поддерживать Visual Studio 2022.
-
Примените актуальные обновления Windows. Эти обновления гарантируют, что на компьютере установлены последние обновления для системы безопасности и необходимые системные компоненты для Visual Studio.
-
Перезагрузите систему. Перезагрузка гарантирует, что ожидающие установки или обновления компоненты не будут препятствовать установке Visual Studio.
-
Освободите место. Удалите ненужные файлы и приложения с системного диска. Например, запустите приложение очистки диска.
Сведения об использовании предыдущих версий Visual Studio параллельно с Visual Studio 2017 см. в разделе .
Сведения об использовании предыдущих версий Visual Studio параллельно с Visual Studio 2019 см. в разделе Целевая платформа и совместимость для Visual Studio 2019.
Сведения об использовании предыдущих версий Visual Studio параллельно с Visual Studio 2022 см. в разделе Целевая платформа и совместимость для Visual Studio 2022.
Среда разработки (IDE)
Средство разработки, которое включает в себя мощный редактор кода и набор инструментов для работы с проектом, его сборки и т.п. называется IDE. На данный момент существует несколько IDE, в которых есть все необходимое для того чтобы начать путь разработчика на C#, далее будут рассмотрены процессы установки Microsoft Visual Studio, VS Code, JetBrains Rider на ОС Windows.
Microsoft Visual Studio
Если ваша основная ОС это Windows, то одним из самых мощных и удобных средств для разработки приложений под эту платформу является Visual Studio. Это полнофункциональная среда позволяет разрабатывать все типы приложений под Windows, Android, iOS, Linux, веб-сервисы и облачные приложения, поддерживает как .NET Framework так и .NET Core. На момент написания статьи самая актуальная версия этого продукта – это Visual Studio 2019, она имеет ряд лицензий – Community, Professional, Enterprise. Для начинающего разработчика Community варианта будет более чем достаточно, эта лицензия позволяет разрабатывать даже коммерческое ПО, но у нее есть некоторые ограничения, более подробная информация по этому вопросу есть на официальном сайте Microsoft.
Сохраните файл установки на компьютере. Это веб-установщик, поэтому он имеет небольшой размер. Запустите его, в результате вам будет представлено окно приветствия.
Нажмите на кнопку “Продолжить” дождитесь окончания подготовительного этапа. После этого откроется окно с настройкой компонентов, для выполнения всех работ по курсу достаточно выбрать “Разработка классических приложений .NET”, “ASP.NET и Разработка веб-приложений”.
Дождитесь окончания установки, это может занять продолжительное время в зависимости от мощности вашего компьютера и скорости доступа в интернет.
Microsoft VS Code
Еще один продукт от Microsoft, он позиционируется как легковесный редактор кода, включает в себя отладчик, инструменты для работы с Git, подсветку синтаксиса, IntelliSense, средства для рефакторинга и многое другое. VS Code предоставляет большое количество настроек визуального оформления редактора.
Для его установки перейдите по ссылке https://code.visualstudio.com/?wt.mc_id=vscom_downloads.
Нажмите на кнопку “Download for Windows” и сохраните дистрибутив на свой компьютер.
Запустите скачанный файл. Нажмите “Далее” в окне с лицензионным соглашением.
В следующем окне оставьте все галочки без изменений и нажмите “Далее”.
В последнем окне нажмите кнопку “Установить” и дождитесь окончания установки.
Установка завершена.
JetBrains Rider
Нажмите кнопку “Скачать”, дождитесь загрузки дистрибутива и запустите его.
Нажмите “Next” и выберите место установки. На следующем экране можно произвести дополнительные настройки ассоциации файлов или оставить все как есть, после этого нажмите кнопку “Next”, а затем “Install”.
Дождитесь окончания установки.
Онлайн интерпретаторы
Если вы хотите быстро проверить работу вашего кода, то лучше всего для этого подойдет онлайн интерпретатор C#. Далее приведены несколько проектов, которые можно использовать для этой цели:
C# версии 9.0
Версия C# 9.0 выпущена с .NET 5. Это версия языка используется по умолчанию для любой сборки, предназначенной для выпуска .NET 5. Она содержит следующие новые и улучшенные функции:
В C# 9.0 добавлены следующие функции и улучшения языка C#.
-
- Целые числа собственного размера
- Указатели функций
- Отмена создания флага localsinit
-
- Выражения с целевым типом
- Анонимные функции
- Условное выражение с целевым типом
- Ковариантные возвращаемые типы
- Поддержка расширения для циклов
- Параметры удаления лямбда-выражения
- Атрибуты локальных функций
-
- Инициализаторы модулей
- Новые функции для разделяемых методов
В C# 9.0 получили развитие три направления предыдущих выпусков: устранение формальностей, отделение данных от алгоритмов и предоставление большего количества шаблонов в большем количестве мест.
Операторы верхнего уровня упрощают чтение основной программы. Сократилась потребность в формальностях: больше не нужны ни пространства имен, , ни классы, ни .
Внедрение обеспечивает краткость синтаксиса для ссылочных типов, которые следуют семантике значений для равенства. Эти типы используются для определения контейнеров данных, которые обычно определяют минимальное поведение. предоставляют возможность для обратимого изменения (выражений ) в записях. В C# 9.0 также добавлены ковариантные возвращаемые типы, благодаря чему производные записи могут переопределять виртуальные методы и возвращать тип, производный от типа возвращаемого значения базового метода.
Возможности сопоставления шаблонов расширены в нескольких направлениях. Числовые типы теперь поддерживают шаблоны диапазонов. Шаблоны можно комбинировать с помощью шаблонов , и . Для уточнения более сложных шаблонов можно добавить круглые скобки.
Высокопроизводительные вычисления на C# поддерживает еще один набор функций.
- Типы и моделируют целочисленные типы собственного размера в целевом ЦП.
- предоставляют функциональные возможности, подобные возможностям делегатов, но при этом не требуют выделения, необходимого для создания объекта-делегата.
- Инструкцию можно опустить для сохранения инструкций.
Еще один набор улучшений поддерживает сценарии, в которых генераторы кода добавляют функциональные возможности.
- — это методы, которые среда выполнения вызывает при загрузке сборки.
- Разделяемые методы поддерживают новые модификаторы доступа и возвращаемые типы, отличные от void. В таких случаях необходимо предоставить реализацию.
В C# 9.0 добавлено множество других небольших функций, повышающих производительность разработчиков, а также написание и чтение кода.
- Выражения целевого типа
- Анонимные функции
- Условные выражения целевого типа
- Поддержка расширения для циклов
- Лямбда-выражения могут объявлять параметры отмены
- Атрибуты могут применяться к локальным функциям
Выпуск C# 9.0 — это следующий этап развития, благодаря которому C# остается современным языком программирования общего назначения. Его возможности обеспечат дальнейшую поддержку современных рабочих нагрузок и типов приложений.
Статья изначально опубликована в блоге NDepend , с разрешения Эрика Дитриха (Erik Dietrich) и Патрика Смачиа (Patrick Smacchia).
Справочник по версиям языка C#
В следующей таблице показаны все текущие версии языка C#. Ваш компилятор может не распознавать все значения, если имеет более раннюю версию. При установке .последней версии пакета SDK для .NET вы получаете доступ ко всем значениям в таблице.
Значение | Значение |
---|---|
Компилятор допускает использование любого допустимого синтаксиса языка из последней предварительной версии. | |
Компилятор принимает синтаксис из последней выпущенной версии компилятора (включая дополнительный номер версии). | |
() | Компилятор принимает синтаксис из последней основной версии компилятора. |
Компилятор принимает только синтаксис, включенный в спецификацию C# 10.0 или более ранних версий. | |
Компилятор принимает только синтаксис, включенный в спецификацию C# 9.0 или более ранних версий. | |
Компилятор принимает только синтаксис, включенный в спецификацию C# 8.0 или более ранней версии. | |
Компилятор принимает только синтаксис, включенный в спецификацию C# 7.3 или более ранней версии. | |
Компилятор принимает только синтаксис, включенный в спецификацию C# 7.2 или более ранней версии. | |
Компилятор принимает только синтаксис, включенный в спецификацию C# 7.1 или более ранней версии. | |
Компилятор принимает только синтаксис, включенный в спецификацию C# 7.0 или более ранней версии. | |
Компилятор принимает только синтаксис, включенный в спецификацию C# 6.0 или более ранней версии. | |
Компилятор принимает только синтаксис, включенный в спецификацию C# 5.0 или более ранней версии. | |
Компилятор принимает только синтаксис, включенный в спецификацию C# 4.0 или более ранней версии. | |
Компилятор принимает только синтаксис, включенный в спецификацию C# 3.0 или более ранней версии. | |
(или ) | Компилятор принимает только синтаксис, включенный в спецификацию ISO/IEC 23270:2006 C# (2.0). |
(или ) | Компилятор принимает только синтаксис, включенный в спецификацию ISO/IEC 23270:2003 C# (1.0/1.2). |
Создание приложения
Во-первых, мы рассмотрим некоторые базовые расчеты для целых чисел в C#. Затем мы добавим код для создания простого калькулятора. После этого нам предстоит отладить приложение, чтобы найти и исправить ошибки. И, наконец, мы оптимизируем код для повышения эффективности.
Вычисления с целыми числами
Давайте начнем с базовых расчетов целых чисел в C#.
В редакторе кода удалите созданный по умолчанию код Hello, World!.
В частности, удалите строку с текстом: .
Вместо нее введите следующий код:
Обратите внимание на то, что при этом функция IntelliSense в Visual Studio предлагает возможность автовыполнения записи.
Примечание
Следующая анимация не предназначена для дублирования предыдущего кода. Она предназначена только для того, чтобы продемонстрировать, как работает функция автозаполнения.
Нажмите зеленую кнопку Пуск или клавишу F5 рядом с калькулятором, чтобы создать и запустить программу.
Откроется окно консоли с суммой 42 + 119, которая равна 161.
(Необязательно) Можно изменить оператор, чтобы изменить результат
Например, можно изменить оператор в строке кода на для вычитания, для умножения или для деления. Затем при запуске программы результат также изменится.
Закройте окно консоли.
Добавление кода для создания калькулятора
Давайте продолжим, добавляя более сложный набор кода калькулятора в проект.
-
Удалите весь код, который отображается в редакторе кода.
-
Введите или вставьте в редактор кода следующий код:
-
Выберите Calculator, чтобы запустить программу, или нажмите клавишу F5.
Откроется окно консоли.
-
Просмотрите приложение в окне консоли и сложите числа 42 и 119, пользуясь предложенными подсказками.
Теперь приложение должно выглядеть как на следующем снимке экрана:
Обработка десятичных чисел
Пока наше приложение принимает и возвращает только целые числа. Вычисления можно сделать точнее, добавив код для обработки десятичных чисел.
Как показано на следующем снимке экрана, при делении числа 42 на число 119 вы получите результат 0, что для нас недостаточно точно.
Давайте исправим код, чтобы он обрабатывал десятичные числа.
Нажмите клавиши CTRL + H, чтобы открыть элемент управления Найти и заменить.
Измените каждый экземпляр переменной на .
Переключите Учитывать регистр (ALT+C) и Слово целиком (ALT+W) в элементе управления Найти и заменить.
Еще раз запустите приложение калькулятора и разделите число 42 на число 119.
Обратите внимание, что теперь приложение возвращает не просто ноль, а десятичное число.
Но пока приложение только возвращает десятичные числа. Давайте изменим код так, чтобы приложение могло выполнять операции над десятичными числами.
Используйте элемент управления Найти и заменить (CTRL + H), чтобы изменить каждый экземпляр переменной на и каждый экземпляр метода на .
Запустите приложение калькулятора и разделите число 42,5 на число 119,75.
Обратите внимание на то, что теперь приложение принимает и возвращает значения десятичные числа.
(Количество десятичных разрядов мы исправим с помощью инструкций по .)
Игры и программы для разных мобильных платформ
Чтобы один и тот же C#-код работал на разных платформах, используют Mono и Xamarin — продукты для кросс-платформенной разработки под разные операционные платформы.
Идея такая:
- Вы пишете программу для одной платформы, например Windows.
- Берёте Mono, загружаете туда свой код и выбираете новую платформу — например iOS.
- Mono смотрит и говорит — вот тут нужно подключить другую библиотеку, вот здесь немного переписать код, а это место вообще можно удалить и написать заново, чтобы всё работало.
- В итоге программист не пишет софт с нуля для каждой операционной системы, а правит его так, чтобы он соответствовал её требованиям.
- Это сокращает время разработки в несколько раз, потому что основа кода одна и та же, а разница только в деталях.
C# версии 4.0
Разработчикам версии C# 4.0, выпущенной вместе с Visual Studio 2010, пришлось приложить серьезные усилия, чтобы не отставать от новаторской версии 3.0. С появлением версии 3.0 язык C# смог выйти из тени Java и занять доминирующее положение. Он быстро становился утонченным и элегантным.
Следующая версия представила ряд интересных функций:
- Динамическая привязка
- Именованные/дополнительные аргументы
- Универсальная ковариантность и контравариантность
- Внедренные типы взаимодействия
Внедренные типы взаимодействия облегчили создание сборок COM-взаимодействия для приложения при развертывании. Универсальная ковариантность и контравариантность расширяют возможности применения универсальных шаблонов, однако эти функции несколько академичны и высоко оценены авторами, создающими платформы и библиотеки. Именованные и дополнительные параметры позволяют избавиться от многих перегрузок методов и сделать работу более удобной. Однако ни одна из этих функций не является кардинальным изменением.
Значимым событием стало появление ключевого слова . Благодаря ключевому слову в C# версии 4.0 появилась возможность переопределять компилятор при типизации во время компиляции. Используя это ключевое слово, вы можете создавать конструкции, характерные для языков с динамической типизацией, таких как JavaScript. Вы можете создать и добавить туда шестерку, отложив решение о дальнейших действиях во времени выполнения.
Динамическое связывание подвержено ошибкам, однако открывает великолепные возможности внутри языка.
Visual Studio
Описание: самая «правильная» среда разработки. С Visual Studio многие начинают знакомиться с языком и не расстаются с ней на протяжении всей карьеры программиста.
Плюсы:
- Официальная. Так как и язык, и среда разработки созданы в Microsoft, логично предположить, что ничего более функционального вы не найдете во всем Интернете. В некоторых случаях без Visual Studio не обойтись — например, при использовании технологий UWP и WPF.
- Бесплатная. Версии «Community edition» для рядового пользователя будет достаточно. Тем более, теперь можно подключать плагины (в отличие от старой версии Express).
- Функциональная. В Visual Studio множество качественных плагинов. С их помощью можно расширить функциональность приложения и подключить другие языки.
- Поддерживает платформы .NET. Visual Studio имеет широкие возможности по разработке приложений под Windows, в том числе в .NET-сегменте.
- Облачные хранилища. Зарегистрируйтесь в сообществе Visual Studio — и получите доступ к облачному хранилищу, где сможете располагать файлы проектов.
- Корпоративность. Технология бэклога позволяет членам команды взаимодействовать при гибкой методологии разработки.
Минусы:
- Баги при переходах с триал-версии. При переходе на платную версию могут теряться настройки и нарушаться работа корпоративного сервера.
- Сложность. Самостоятельно освоить Visual Studio новичку будет непросто — слишком много доступных функций, спрятанных в подразделах меню.