Izibook.club
Читать онлайн книги!
  • Главная
  • Жанры
  • Авторы
  • ТОП книг
  • ТОП авторов
  • Контакты

Язык программирования 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
в большем числе мест — в условных выражениях, лямбда-выражениях и др.

Перейти к странице:
Предыдущая страница
Следующая страница
Жанры
  • Военное дело 3
    • Спецслужбы 3
  • Деловая литература 141
    • Банковское дело 2
    • Деловая литература 2
    • Корпоративная культура 8
    • Личные финансы 15
    • Малый бизнес 2
    • Маркетинг, PR, реклама 34
    • О бизнесе популярно 75
    • Управление, подбор персонала 12
    • Экономика 18
  • Детективы и триллеры 2140
    • Боевики 249
    • Дамский детективный роман 14
    • Детективы 424
    • Иронические детективы 139
    • Исторические детективы 360
    • Классические детективы 156
    • Криминальные детективы 132
    • Крутой детектив 94
    • Маньяки 14
    • Медицинский триллер 1
    • Политические детективы 37
    • Полицейские детективы 190
    • Прочие Детективы 660
    • Техно триллер 3
    • Триллеры 915
    • Шпионские детективы 76
  • Детские 327
    • Детская образовательная литература 13
    • Детская проза 120
    • Детские остросюжетные 46
    • Детские приключения 153
    • Детские стихи 7
    • Детский фольклор 1
    • Книга-игра 1
    • Прочая детская литература 62
  • Детские книги 401
    • Детская фантастика 165
    • Детские детективы 3
    • Книги для подростков 23
    • Сказки 161
  • Документальная литература 679
    • Биографии и мемуары 437
    • Военная документалистика 7
    • Искусство и Дизайн 13
    • Критика 8
    • Научпоп 6
    • Прочая документальная литература 66
    • Публицистика 225
  • Дом и Семья 172
    • Домашние животные 13
    • Здоровье и красота 29
    • Кулинария 24
    • Прочее домоводство 8
    • Развлечения 3
    • Сад и Огород 7
    • Сделай сам 2
    • Спорт 5
    • Хобби и ремесла 6
    • Эротика и секс 87
  • Драматургия 90
    • Драма 87
    • Киносценарии 3
    • Мистерия 1
    • Трагедия 1
  • Жанр не определен 7
    • Разное 7
  • Компьютеры и Интернет 14
    • Базы данных 3
    • Интернет 3
    • Программирование 1
    • Программное обеспечение 1
    • Прочая компьютерная литература 9
  • Любовные романы 23672
    • Исторические любовные романы 823
    • Короткие любовные романы 2212
    • Любовно-фантастические романы 10177
    • Остросюжетные любовные романы 723
    • Порно 74
    • Прочие любовные романы 51
    • Слеш 406
    • Современные любовные романы 9747
    • Фемслеш 40
    • Эротика 5582
  • Научно-образовательная 317
    • Альтернативная медицина 5
    • Астрономия и Космос 6
    • Биология 28
    • Биофизика 2
    • Биохимия 1
    • Ботаника 3
    • Военная история 4
    • Геология и география 2
    • Детская психология 12
    • Зоология 2
    • Иностранные языки 2
    • Культурология 35
    • Литературоведение 18
    • Медицина 29
    • Обществознание 6
    • Педагогика 17
    • Политика 20
    • Прочая научная литература 54
    • Психотерапия и консультирование 39
    • Религиоведение 7
    • Секс и семейная психология 22
    • Технические науки 4
    • Физика 8
    • Философия 33
    • Химия 3
    • Экология 3
    • Юриспруденция 6
    • Языкознание 16
  • Образование 484
    • Бизнес 45
    • Биография и мемуары 46
    • Здоровье 10
    • История 274
    • Карьера 4
    • Психология 213
  • Поэзия и драматургия 36
    • Басни 2
    • Драматургия 9
    • Лирика 1
    • Поэзия 26
  • Приключения 645
    • Вестерны 13
    • Исторические приключения 346
    • Морские приключения 63
    • Природа и животные 25
    • Прочие приключения 185
    • Путешествия и география 48
  • Проза 1943
    • Антисоветская литература 5
    • Афоризмы 1
    • Военная проза 91
    • Историческая проза 275
    • Классическая проза 115
    • Контркультура 12
    • Магический реализм 73
    • Новелла 12
    • Повесть 24
    • Проза прочее 17
    • Рассказ 69
    • Роман 99
    • Русская классическая проза 71
    • Семейный роман/Семейная сага 3
    • Сентиментальная проза 10
    • Советская классическая проза 41
    • Современная проза 1496
    • Эпистолярная проза 2
    • Эпопея 2
    • Эссе, очерк, этюд, набросок 2
  • Прочее 1322
    • Газеты и журналы 5
    • Изобразительное искусство, фотография 7
    • Кино 10
    • Музыка 9
    • Подростковая литература 5
    • Театр 5
    • Фанфик 1286
  • Религия и духовность 279
    • Астрология 1
    • Буддизм 4
    • Православие 1
    • Прочая религиозная литература 3
    • Религия 20
    • Самосовершенствование 107
    • Хиромантия 1
    • Эзотерика 160
    • Язычество 1
  • Справочная литература 37
    • Прочая справочная литература 2
    • Путеводители 8
    • Руководства 12
    • Справочники 15
    • Энциклопедии 6
  • Старинная литература 101
    • Античная литература 1
    • Древневосточная литература 5
    • Мифы. Легенды. Эпос 28
    • Прочая старинная литература 68
  • Техника 1
    • Автомобили и ПДД 1
  • Фантастика и фентези 24867
    • Альтернативная история 3568
    • Боевая фантастика 4701
    • Героическая фантастика 1319
    • Городское фэнтези 1756
    • Готический роман 9
    • Детективная фантастика 659
    • Ироническая фантастика 97
    • Ироническое фэнтези 80
    • Историческое фэнтези 421
    • Киберпанк 259
    • Космическая фантастика 1549
    • Космоопера 35
    • ЛитРПГ 1226
    • Любовная фантастика 186
    • Любовное фэнтези 115
    • Мистика 436
    • Научная фантастика 786
    • Попаданцы 8209
    • Постапокалипсис 769
    • Сказочная фантастика 23
    • Социально-философская фантастика 423
    • Стимпанк 129
    • Технофэнтези 93
    • Ужасы 103
    • Ужасы и мистика 672
    • Фантастика 254
    • Фантастика: прочее 206
    • Фэнтези 10812
    • Эпическая фантастика 209
    • Юмористическая фантастика 1001
    • Юмористическое фэнтези 1311
  • Фольклор 7
    • Загадки 1
    • Народные сказки 5
    • Фольклор: прочее 2
  • Юмор 166
    • Комедии 1
    • Прочий юмор 59
    • Сатира 3
    • Юмористическая проза 102
    • Юмористические стихи 4
Izibook.club

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

Контакты
  • pereezdsayta@yandex.ru
Информация
  • Карта сайта
© izibook.club, 2026. | Вход
Этот сайт использует cookie для хранения данных. Продолжая пользоваться сайтом, вы даете свое согласие на работу с этими данными в соответствии с нашей политикой конфиденциальности.
Я согласен