Язык программирования 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"




   Определение статических классов

   Импортирование статических членов с применением ключевого слова using языка C#

  Основные принципы объектно-ориентированного программирования

   Роль инкапсуляции

   Роль наследования

   Роль полиморфизма

  Модификаторы доступа C# (обновление в версии 7.2)

   Использование стандартных модификаторов доступа

   Использование модификаторов доступа и вложенных типов

  Первый принцип объектно-ориентированного программирования: службы инкапсуляции C#

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

   Инкапсуляция с использованием свойств

    Свойства как члены, сжатые до выражений (нововведение в версии 7.0)

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

   Свойства, допускающие только чтение

   Свойства, допускающие только запись

   Смешивание закрытых и открытых методов get/set в свойствах

   Еще раз о ключевом слове static: определение статических свойств

   Сопоставление с образцом и шаблоны свойств (нововведение в версии 8.0)

  Понятие автоматических свойств

   Взаимодействие с автоматическими свойствами

   Автоматические свойства и стандартные значения

   Инициализация автоматических свойств

  Понятие инициализации объектов

   Обзор синтаксиса инициализации объектов

   Использование средства доступа только для инициализации (нововведение в версии 9.0)

   Вызов специальных конструкторов с помощью синтаксиса инициализации

   Инициализация данных с помощью синтаксиса инициализации

  Работа с константными полями данных и полями данных, допускающими только чтение

   Понятие константных полей данных

   Понятие полей данных, допускающих только чтение

   Понятие статических полей, допускающих только чтение

  Понятие частичных классов

  Использование записей (нововведение в версии 9.0)

   Эквивалентность с типами записей

   Копирование типов записей с использованием выражений with

  Резюме

 Глава 6

  Базовый механизм наследования

   Указание родительского класса для существующего класса

   Замечание относительно множества базовых классов

   Использование ключевого слова sealed

  Еще раз о диаграммах классов Visual Studio

  Второй принцип объектно-ориентированного программирования: детали наследования

   Вызов конструкторов базового класса с помощью ключевого слова base

   Хранение секретов семейства: ключевое слово protected

   Добавление запечатанного класса

   Наследование с типами записей (нововведение в версии 9.0)

    Эквивалентность с унаследованными типами записей

  Реализация модели включения/делегации

   Определения вложенных типов

  Третий принцип объектно-ориентированного программирования: поддержка полиморфизма в C#

   Использование ключевых слов virtual и override

   Переопределение виртуальных членов с помощью Visual Studio/Visual Studio Code

   Запечатывание виртуальных членов

   Абстрактные классы

   Полиморфные интерфейсы

   Сокрытие членов

  Правила приведения для базовых и производных классов

   Использование ключевого слова as

   Использование ключевого слова is (обновление в версиях 7.0, 9.0)

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

   Еще раз о сопоставлении с образцом (нововведение в версии 7.0)

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

  Главный родительский класс: System.Object

   Переопределение метода System.Object.ToString()

   Переопределение метода System.Object.Equals()

   Переопределение метода System.Object.GetHashCode()

   Тестирование модифицированного класса Person

   Использование статических членов класса System.Object

  Резюме

 Глава 7

  Ода ошибкам, дефектам и исключениям

  Роль обработки исключений .NET

   Строительные блоки обработки исключений в .NET

   Базовый класс System.Exception

  Простейший пример

   Генерация общего исключения

   Перехват исключений

   Выражение throw (нововведение в версии 7.0)

  Конфигурирование состояния исключения

   Свойство TargetSite

   Свойство StackTrace

   Свойство HelpLink

   Свойство Data

  Исключения уровня системы (System.SystemException)

  Исключения уровня приложения (Systern.ApplicationException)

   Построение специальных исключений, способ первый

   Построение специальных исключений, способ второй

   Построение специальных исключений, способ третий

  Обработка множества исключений

   Общие операторы catch

   Повторная генерация исключений

   Внутренние исключения

   Блок finally

   Фильтры исключений

  Отладка необработанных исключений с использованием Visual Studio

  Резюме

 Глава 8

  Понятие интерфейсных типов

   Сравнение интерфейсных типов и абстрактных базовых классов

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

  Реализация интерфейса

  Обращение к членам интерфейса на уровне объектов

   Получение ссылок на интерфейсы: ключевое слово as

   Получение ссылок на интерфейсы: ключевое слово is (обновление в версии 7.0)

  Стандартные реализации (нововведение в версии 8.0)

  Статические конструкторы и члены (нововведение в версии 8.0)

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

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

  Массивы интерфейсных типов

  Автоматическая реализация интерфейсов

  Явная реализация интерфейсов

  Проектирование иерархий интерфейсов

   Иерархии интерфейсов со стандартными реализациями (нововведение в версии 8.0)

   Множественное наследование с помощью интерфейсных типов

  Интерфейсы IEnumerable и IEnumerator

   Построение итераторных методов с использованием ключевого слова yield

    Защитные конструкции с использованием локальных функций (нововведение в версии 7.0)

   Построение именованного итератора

  Интерфейс ICloneable

   Более сложный пример клонирования

  Интерфейс IComparable

   Указание множества порядков сортировки с помощью IComparer

   Специальные свойства и специальные типы сортировки

  Резюме

 Глава 9

  Классы, объекты и ссылки

  Базовые сведения о времени жизни объектов

   Код CIL для ключевого слова new

   Установка объектных ссылок в null

  Выяснение, нужен ли объект

  Понятие поколений объектов

   Эфемерные поколения и сегменты

  Типы сборки мусора

   Фоновая сборка мусора

  Тип System.GC

   Принудительный запуск сборщика мусора

  Построение финализируемых объектов

   Переопределение метода System.Object.Finalize()

   Подробности процесса финализации

  Построение освобождаемых объектов

   Повторное использование ключевого слова using в C#

   Объявления using (нововведение в версии 8.0)

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

   Формализованный шаблон освобождения

  Ленивое создание объектов

   Настройка процесса создания данных Lazy<>

  Резюме

Часть IV

 Глава 10

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

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

    Иллюстративный пример: работа с ArrayList

   Обзор пространства имен System.Collections.Specialized

  Проблемы, присущие необобщенным коллекциям

   Проблема производительности

   Проблема безопасности в отношении типов

   Первый взгляд на обобщенные коллекции

  Роль параметров обобщенных типов

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

   Указание параметров типа для обобщенных членов

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

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

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

   Работа с классом List<T>

   Работа с классом Stack<T>

   Работа с классом Queue<T>

   Работа с классом SortedSet<T>

   Работа с классом Dictionary<TKey,TValue>

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

   Работа с классом ObservableCollection<T>

  Создание специальных обобщенных методов

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

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

   Выражения default вида значений в обобщениях

   Выражения default литерального вида (нововведение в версии 7.1)

   Сопоставление с образцом в обобщениях (нововведение в версии 7.1)

  Ограничение параметров типа

   Примеры использования ключевого слова where

   Отсутствие ограничений операций

  Резюме

 Глава 11

  Понятие индексаторных методов

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

   Перегрузка индексаторных методов

   Многомерные индексаторы

   Определения индексаторов в интерфейсных типах

  Понятие перегрузки операций

   Перегрузка бинарных операций

   А как насчет операций += и -=?

   Перегрузка унарных операций

   Перегрузка операций эквивалентности

   Перегрузка операций сравнения

   Финальные соображения относительно перегрузки операций

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

   Повторение: числовые преобразования

   Повторение: преобразования между связанными типами классов

   Создание специальных процедур преобразования

   Дополнительные явные преобразования для типа Square

   Определение процедур неявного преобразования

  Понятие расширяющих методов

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

   Вызов расширяющих методов

   Импортирование расширяющих методов

   Расширение типов, реализующих специфичные интерфейсы

   Поддержка расширяющего метода GetEnumerator() (нововведение в версии 9.0)

  Понятие анонимных типов

   Определение анонимного типа

   Внутреннее представление анонимных типов

   Реализация методов ToString() и GetHashCode()

   Семантика эквивалентности анонимных типов

   Анонимные типы, содержащие другие анонимные типы

  Работа с типами указателей

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

   Работа с операциями * и &

   Небезопасная (и безопасная) функция обмена

   Доступ к полям через указатели (операция ->)

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

   Закрепление типа посредством ключевого слова fixed

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

  Резюме

 Глава 12

  Понятие типа делегата

   Определение типа делегата в C#

   Базовые классы System.MulticastDelegate и System.Delegate

  Пример простейшего делегата

   Исследование объекта делегата

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

   Включение группового вызова

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

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