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

Эндрю Троелсен
100
10
(1 голос)
0 0

Аннотация: В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле. Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных. Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

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

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




   Удаление целей из списка вызовов делегата

   Синтаксис групповых преобразований методов

  Понятие обобщенных делегатов

   Обобщенные делегаты Action<> и Func<>

  Понятие событий C#

   Ключевое слово event

   "За кулисами" событий

   Прослушивание входящих событий

   Упрощение регистрации событий с использованием Visual Studio

   Создание специальных аргументов событий

   Обобщенный делегат EventHandler<T>

  Понятие анонимных методов C#

   Доступ к локальным переменным

   Использование ключевого слова static с анонимными методами (нововведение в версии 9.0)

   Использование отбрасывания с анонимными методами (нововведение в версии 9.0)

  Понятие лямбда-выражений

   Анализ лямбда-выражения

   Обработка аргументов внутри множества операторов

   Лямбда-выражения с несколькими параметрами и без параметров

   Использование ключевого слова static с лямбда-выражениями (нововведение в версии 9.0)

   Использование отбрасывания с лямбда-выражениями (нововведение в версии 9.0)

   Модернизация примера CarEvents с использованием лямбда-выражений

   Лямбда-выражения и члены, сжатые до выражений (обновление в версии 7.0)

  Резюме

 Глава 13

  Программные конструкции, специфичные для LINQ

   Неявная типизация локальных переменных

   Синтаксис инициализации объектов и коллекций

   Лямбда-выражения

   Расширяющие методы

   Анонимные типы

  Роль LINQ

   Выражения LINQ строго типизированы

   Основные сборки LINQ

  Применение запросов LINQ к элементарным массивам

   Решение с использованием расширяющих методов

   Решение без использования LINQ

   Выполнение рефлексии результирующего набора LINQ

   LINQ и неявно типизированные локальные переменные

   LINQ и расширяющие методы

   Роль отложенного выполнения

   Роль немедленного выполнения

  Возвращение результатов запроса LINQ

   Возвращение результатов LINQ посредством немедленного выполнения

  Применение запросов LINQ к объектам коллекций

   Доступ к содержащимся в контейнере подобъектам

   Применение запросов LINQ к необобщенным коллекциям

   Фильтрация данных с использованием метода OfТуре<Т>()

  Исследование операций запросов LINQ

   Базовый синтаксис выборки

   Получение подмножества данных

   Проецирование в новые типы данных

   Проецирование в другие типы данных

   Подсчет количества с использованием класса Enumerable

   Изменение порядка следования элементов в результирующих наборах на противоположный

   Выражения сортировки

   LINQ как лучшее средство построения диаграмм Венна

   Устранение дубликатов

   Операции агрегирования LINQ

  Внутреннее представление операторов запросов LINQ

   Построение выражений запросов с применением операций запросов

   Построение выражений запросов с использованием типа Enumerable и лямбда-выражений

   Построение выражений запросов с использованием типа Enumerable и анонимных методов

   Построение выражений запросов с использованием типа Enumerable и низкоуровневых делегатов

  Резюме

 Глава 14

  Роль процесса Windows

   Роль потоков

  Взаимодействие с процессами используя платформу .NET Core

   Перечисление выполняющихся процессов

   Исследование конкретного процесса

   Исследование набора потоков процесса

   Исследование набора модулей процесса

   Запуск и останов процессов программным образом

   Управление запуском процесса с использованием класса ProcessStartInfo

   Использование команд операционной системы с классом ProcessStartInfo

  Домены приложений .NET

   Класс System.AppDomain

   Взаимодействие со стандартным доменом приложения

   Перечисление загруженных сборок

  Изоляция сборок с помощью контекстов загрузки приложений

  Итоговые сведения о процессах, доменах приложений и контекстах загрузки

  Резюме

 Глава 15

  Отношения между процессом, доменом приложения, контекстом и потоком

   Сложность, связанная с параллелизмом

   Роль синхронизации потоков

  Пространство имен System.Threading

  Класс System.Threading.Thread

   Получение статистических данных о текущем потоке выполнения

   Свойство Name

   Свойство Priority

  Ручное создание вторичных потоков

   Работа с делегатом ThreadStart

   Работа с делегатом ParametrizedThreadStart

   Класс AutoResetEvent

   Потоки переднего плана и фоновые потоки

  Проблема параллелизма

   Синхронизация с использованием ключевого слова lock языка C#

   Синхронизация с использованием типа System.Threading.Monitor

   Синхронизация с использованием типа System.Threading.Interlocked

  Программирование с использованием обратных вызовов Timer

   Использование автономного отбрасывания (нововведение в версии 7.0)

  Класс ThreadPool

  Параллельное программирование с использованием TPL

   Пространство имен System.Threading.Tasks

   Роль класса Parallel

   Обеспечение параллелизма данных с помощью класса Parallel

   Доступ к элементам пользовательского интерфейса во вторичных потоках

   Класс Task

   Обработка запроса на отмену

   Обеспечение параллелизма задач с помощью класса Parallel

  Запросы Parallel LINQ (PLINQ)

   Создание запроса PLINQ

   Отмена запроса PLINQ

  Асинхронные вызовы с помощью async/await

   Знакомство с ключевыми словами async и await языка C# (обновление в версиях 7.1, 9.0)

   Класс SynchronizationContext и async/await

   Роль метода ConfigureAwait()

   Соглашения об именовании асинхронных методов

   Асинхронные методы, возвращающие void

    Асинхронные методы, возвращающие void и поддерживающие await

    Асинхронные методы, возвращающие void и работающие в стиле "запустил и забыл"

    Асинхронные методы с множеством контекстов await

   Вызов асинхронных методов из неасинхронных методов

   Ожидание с помощью await в блоках catch и finally

   Обобщенные возвращаемые типы в асинхронных методах (нововведение в версии 7.0)

   Локальные функции (нововведение в версии 7.0)

   Отмена операций async/await

   Асинхронные потоки (нововведение в версии 8.0)

   Итоговые сведения о ключевых словах async и await

  Резюме

Часть V

 Глава 16

  Определение специальных пространств имен

   Разрешение конфликтов имен с помощью полностью заданных имен

   Разрешение конфликтов имен с помощью псевдонимов

   Создание вложенных пространств имен

   Изменение стандартного пространства имен в Visual Studio

  Роль сборок .NET Core

   Сборки содействуют многократному использованию кода

   Сборки устанавливают границы типов

   Сборки являются единицами, поддерживающими версии

   Сборки являются самоописательными

  Формат сборки .NET Core

   Установка инструментов профилирования C++

   Заголовок файла операционной системы (Windows)

   Заголовок файла CLR

   Код CIL, метаданные типов и манифест сборки

   Дополнительные ресурсы сборки

  Отличия между библиотеками классов и консольными приложениями

  Отличия между библиотеками классов .NET Standard и .NET Core

  Конфигурирование приложений

  Построение и потребление библиотеки классов .NET Core

   Исследование манифеста

   Исследование кода CIL

   Исследование метаданных типов

   Построение клиентского приложения C#

   Построение клиентского приложения Visual Basic

   Межъязыковое наследование в действии

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

    Использование атрибута assembly

    Использование файла проекта

  NuGet и .NET Core

   Пакетирование сборок с помощью NuGet

   Ссылка на пакеты NuGet

  Опубликование консольных приложений (обновление в версии .NET 5)

   Опубликование приложений, зависящих от инфраструктуры

   Опубликование автономных приложений

    Опубликование автономных приложений в виде единственного файла

  Определение местонахождения сборок исполняющей средой .NET Core

  Резюме

 Глава 17

  Потребность в метаданных типов

   Просмотр (частичных) метаданных для перечисления EngineStateEnum

   Просмотр (частичных) метаданных для типа Car

   Исследование блока TypeRef

   Документирование определяемой сборки

   Документирование ссылаемых сборок

   Документирование строковых литералов

  Понятие рефлексии

   Класс System.Туре

   Получение информации о типе с помощью System.Object.GetType()

   Получение информации о типе с помощью typeof()

   Получение информации о типе с помощью System.Туре.GetType()

  Построение специального средства для просмотра метаданных

   Рефлексия методов

   Рефлексия полей и свойств

   Рефлексия реализованных интерфейсов

   Отображение разнообразных дополнительных деталей

   Добавление операторов верхнего уровня

   Рефлексия статических типов

   Рефлексия обобщенных типов

   Рефлексия параметров и возвращаемых значений методов

   Динамическая загрузка сборок

  Рефлексия сборок инфраструктуры

  Понятие позднего связывания

   Класс System.Activato

   Вызов методов без параметров

   Вызов методов с параметрами

  Роль атрибутов .NET

   Потребители атрибутов

   Применение атрибутов в C#

   Сокращенная система обозначения атрибутов C#

   Указание параметров конструктора для атрибутов

   Атрибут [Obsolete] в действии

  Построение специальных атрибутов

   Применение специальных атрибутов

   Синтаксис именованных свойств

   Ограничение использования атрибутов

  Атрибуты уровня сборки

   Использование файла проекта для атрибутов сборки

  Рефлексия атрибутов с использованием раннего связывания

  Рефлексия атрибутов с использованием позднего связывания

  Практическое использование рефлексии позднего связывания и специальных атрибутов

  Построение расширяемого приложения

   Построение мультипроектного решения ExtendableApp

    Создание решения и проектов с помощью интерфейса командной строки

     Добавление событий PostBuild в файлы проектов

    Создание решения и проектов с помощью Visual Studio

    Установка зависимостей проектов при компиляции

     Добавление событий PostBuild

   Построение сборки CommonSnappableTypes.dll

   Построение оснастки на C#

   Построение оснастки на Visual Basic

   Добавление кода для ExtendableApp

  Резюме

 Глава 18

  Роль ключевого слова dynamic языка C#

   Вызов членов на динамически объявленных данных

   Область использования ключевого слова dynamic

Скачать книгу "Язык программирования C#9 и платформа .NET5" бесплатно

100
10
Оцени книгу:
0 0
Комментарии
Минимальная длина комментария - 7 знаков.
Комментариев еще нет. Вы можете стать первым!
КнигоДром » Базы данных » Язык программирования C#9 и платформа .NET5
Внимание