Mir-knigi.online
Книги онлайн читать бесплатно!
  • Главная
  • Жанры
  • ТОП книг
  • ТОП авторов
  • Контакты

Язык программирования C#9 и платформа .NET5

Часть 32 из 642 Информация о книге

Более того, по мере проработки материала книги вы очень скоро заметите, что C# поддерживает средства, такие как лямбда-выражения и анонимные типы, которые традиционно встречаются в различных языках функционального программирования (например, LISP или Haskell). Вдобавок с появлением технологии LINQ (Language Integrated Query — язык интегрированных запросов) язык C# стал поддерживать конструкции, которые делают его довольно-таки уникальным в мире программирования. Но, несмотря на все это, наибольшее влияние на него оказали именно языки, основанные на С.

Поскольку C# — гибрид из нескольких языков, он является таким же синтаксически чистым, как Java (если не чище), почти настолько же простым, как VB, и практически таким же мощным и гибким, как C++. Ниже приведен неполный перечень ключевых особенностей языка С#, которые характерны для всех его версий.

• Указатели необязательны ! В программах на C# обычно не возникает потребности в прямых манипуляциях указателями (хотя в случае абсолютной необходимости можно опуститься и на уровень указателей, как объясняется в главе 11).

• Автоматическое управление памятью посредством сборки мусора. С учетом этого в C# не поддерживается ключевое слово вроде

delete
.

• Формальные синтаксические конструкции для классов, интерфейсов, структур, перечислений и делегатов.

• Аналогичная языку C++ возможность перегрузки операций для специальных типов без особой сложности.

• Поддержка программирования на основе атрибутов. Разработка такого вида позволяет аннотировать типы и их члены для дополнительного уточнения их поведения. Например, если пометить метод атрибутом

[Obsolete]
, то при попытке его использования программисты увидят ваше специальное предупреждение.

C# 9 уже является мощным языком, который в сочетании с .NET Core позволяет строить широкий спектр приложений разнообразных видов.

Основные средства в предшествующих выпусках

С выходом версии .NET 2.0 (примерно в 2005 году) язык программирования C# был обновлен с целью поддержки многочисленных новых функциональных возможностей, наиболее значимые из которых перечислены далее.

• Возможность создания обобщенных типов и обобщенных членов. Применяя обобщения, можно писать очень эффективный и безопасный к типам код, который определяет множество заполнителей, указываемых во время взаимодействия с обобщенными элементами.

• Поддержка анонимных методов, которые позволяют предоставлять встраиваемую функцию везде, где требуется тип делегата.

• Возможность определения одиночного типа в нескольких файлах кода (или при необходимости в виде представления в памяти) с использованием ключевого слова

partial
.

В версии .NET 3.5 (вышедшей приблизительно в 2008 году) к языку программирования C# была добавлена дополнительная функциональность, в том числе следующие средства.

• Поддержка строго типизированных запросов (например, LINQ), применяемых для взаимодействия с разнообразными формами данных. Вы впервые встретите запросы LINQ в главе 13.

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

• Возможность расширения функциональности существующего типа (не создавая его подклассы) с использованием расширяющих методов.

• Включение лямбда-операции (

=>
), которая еще больше упрощает работу с типами делегатов .NET.

• Новый синтаксис инициализации объектов, позволяющий устанавливать значения свойств во время создания объекта.

В версии .NET 4.0 (выпущенной в 2010 году) язык C# снова был дополнен рядом средств, которые указаны ниже.

• Поддержка необязательных параметров и именованных аргументов в методах.

• Поддержка динамического поиска членов во время выполнения через ключевое слово

dynamic
. Как будет показано в главе 19, это обеспечивает универсальный подход к вызову членов на лету независимо от инфраструктуры, в которой они реализованы (COM, IronRuby, IronPython или службы рефлексии .NET).

• Работа с обобщенными типами стала намного понятнее, учитывая возможность легкого отображения обобщенных данных на универсальные коллекции

System.Object
через ковариантность и контравариантность.

В выпуске .NET 4.5 язык C# обрел пару новых ключевых слов (

async
и
await
), которые значительно упрощают многопоточное и асинхронное программирование. Если вы работали с предшествующими версиями С#, то можете вспомнить, что вызов методов через вторичные потоки требовал довольно большого объема малопонятного кода и применения разнообразных пространств имен .NET. Учитывая то, что теперь в C# поддерживаются языковые ключевые слова, которые автоматически устраняют эту сложность, процесс вызова методов асинхронным образом оказывается почти настолько же легким, как их вызов в синхронной манере. Данные темы детально раскрываются в главе 15.

Версия C# 6 появилась в составе .NET 4.6 и получила несколько мелких средств, которые помогают упростить кодовую базу. Ниже представлен краткий обзор ряда средств, введенных в C# 6.

• Встраиваемая инициализация для автоматических свойств, а также поддержка автоматических свойств, предназначенных только для чтения.

• Реализация однострочных методов с использованием лямбда-операции С#.

• Поддержка статического импортирования для предоставления прямого доступа к статическим членам внутри пространства имен.

•

null
-условная операция, которая помогает проверять параметры на предмет
null
в реализации метода.

• Новый синтаксис форматирования строк, называемый интерполяцией строк.

• Возможность фильтрации исключений с применением нового ключевого слова

when
.

• Использование

await
в блоках
catch
и
finally
.

• Выражения

nameof
для возвращения строкового представления символов.

• Инициализаторы индексов.

• Улучшенное распознавание перегруженных версий.

В версии C# 7, выпущенной вместе с .NET 4.7 в марте 2017 года, были введены дополнительные средства для упрощения кодовой базы и добавлено несколько более значительных средств (вроде кортежей и ссылочных локальных переменных, а также возвращаемых ссылочных значений), которые разработчики просили включить довольно долгое время. Вот краткий обзор новых средств C# 7.

• Объявление переменных

out
как встраиваемых аргументов.

• Локальные функции.

• Дополнительные члены, сжатые до выражений.

• Обобщенные асинхронные возвращаемые типы.

• Новые маркеры для улучшения читабельности числовых констант.

• Легковесные неименованные типы (называемые кортежами), которые содержат множество полей.

• Обновления логического потока с применением сопоставления с типом вдобавок к проверке значений (сопоставлению с образцом).

• Возвращение ссылки на значение вместо только самого значения (ссылочные локальные переменные и возвращаемые ссылочные значения).

• Введение легковесных одноразовых переменных (называется отбрасыванием).

• Выражения

throw
, позволяющие размещать конструкцию
throw
в большем числе мест — в условных выражениях, лямбда-выражениях и др.


Перейти к странице:
Предыдущая страница
Следующая страница
Жанры
  • Военное дело
  • Деловая литература
  • Детективы и триллеры
  • Детские
  • Детские книги
  • Документальная литература
  • Дом и дача
  • Дом и Семья
  • Жанр не определен
  • Зарубежная литература
  • Знания и навыки
  • История
  • Компьютеры и Интернет
  • Легкое чтение
  • Любовные романы
  • Научно-образовательная
  • Образование
  • Поэзия и драматургия
  • Приключения
  • Проза
  • Прочее
  • Психология и мотивация
  • Публицистика и периодические издания
  • Религия и духовность
  • Родителям
  • Серьезное чтение
  • Спорт, здоровье и красота
  • Справочная литература
  • Старинная литература
  • Техника
  • Фантастика и фентези
  • Фольклор
  • Хобби и досуг
  • Юмор
Mir-knigi.online

Бесплатная онлайн библиотека для чтения книг без регистрации с телефона или компьютера. У нас собраны последние новинки, мировые бестселлеры книжного мира.

Контакты
  • [email protected]
Информация
  • Карта сайта
© mir-knigi.online, 2026. | Вход