Язык программирования C#9 и платформа .NET5
Шрифт:
• Поддержка необязательных параметров и именованных аргументов в методах.
• Поддержка динамического поиска членов во время выполнения через ключевое слово
• Работа с обобщенными типами стала намного понятнее, учитывая возможность легкого отображения обобщенных данных на универсальные
В выпуске .NET 4.5 язык C# обрел пару новых ключевых слов (
Версия C# 6 появилась в составе .NET 4.6 и получила несколько мелких средств, которые помогают упростить кодовую базу. Ниже представлен краткий обзор ряда средств, введенных в C# 6.
• Встраиваемая инициализация для автоматических свойств, а также поддержка автоматических свойств, предназначенных только для чтения.
• Реализация однострочных методов с использованием лямбда-операции С#.
• Поддержка статического импортирования для предоставления прямого доступа к статическим членам внутри пространства имен.
•
• Новый синтаксис форматирования строк, называемый интерполяцией строк.
• Возможность фильтрации исключений с применением нового ключевого слова
• Использование
• Выражения
• Инициализаторы индексов.
• Улучшенное распознавание перегруженных версий.
В версии C# 7, выпущенной вместе с .NET 4.7 в марте 2017 года, были введены дополнительные средства для упрощения кодовой базы и добавлено несколько более значительных средств (вроде кортежей и ссылочных локальных переменных, а также возвращаемых ссылочных значений), которые разработчики просили включить довольно долгое время. Вот краткий обзор новых средств C# 7.
• Объявление переменных
•
• Дополнительные члены, сжатые до выражений.
• Обобщенные асинхронные возвращаемые типы.
• Новые маркеры для улучшения читабельности числовых констант.
• Легковесные неименованные типы (называемые кортежами), которые содержат множество полей.
• Обновления логического потока с применением сопоставления с типом вдобавок к проверке значений (сопоставлению с образцом).
• Возвращение ссылки на значение вместо только самого значения (ссылочные локальные переменные и возвращаемые ссылочные значения).
• Введение легковесных одноразовых переменных (называется отбрасыванием).
• Выражения
С версией C# 7 связаны два младших выпуска, которые добавили следующие средства.
• Возможность иметь асинхронный метод
• Новый литерал
• Устранение проблемы при сопоставлении с образцом, которая препятствовала использованию обобщений в этом новом средстве сопоставления с образцом.
• Подобно анонимным методам имена кортежей могут выводиться из проекции, которая их создает.
• Приемы для написания безопасного и эффективного кода, сочетание синтаксических улучшений, которые позволяют работать с типами значений, применяя ссылочную семантику.
• За именованными аргументами могут следовать позиционные аргументы.
• Числовые литералы теперь могут иметь ведущие символы подчеркивания перед любыми печатаемыми цифрами.
• Модификатор доступа
• Результатом условного выражения (
Кроме того, в этом издании книги к заголовкам разделов добавляются указания "(нововведение в версии 7.x)" и "(обновление в версии 7.x)", чтобы облегчить поиск изменений в языке по сравнению с предыдущей версией. Буква "х" означает младшую версию C# 7, такую как 7.1.
В версии C# 8, ставшей доступной 23 сентября 2019 года в рамках .NET Core 3.0, были введены дополнительные средства для упрощения кодовой базы и добавлен ряд более значимых средств (вроде кортежей, а также ссылочных локальных переменных и возвращаемых значений), которые разработчики просили включить в спецификацию языка в течение довольно долгого времени.
Версия C# 8 имеет два младших выпуска, которые добавили следующие средства:
• члены, допускающие только чтение, для структур: