Понятие типов С#, допускающих null
Использование типов значений, допускающих null
Использование ссылочных типов, допускающих null (нововведение в версии 8.0)
Включение ссылочных типов, допускающих null
Ссылочные типы, допускающие null, в действии
Рекомендации по переносу кода
Работа с типами, допускающими значение null
Операция объединения с null
Операция присваивания с объединением с null (нововведение в версии 8.0)
null-условная операция
Понятие кортежей (нововведение и обновление в версии 7.0)
Начало работы с кортежами
Использование выведенных имен переменных (обновление в версии C# 7.1)
Понятие эквивалентности/неэквивалентности кортежей (нововведение в версии 7.3)
Использование отбрасывания с кортежами
Использование отбрасывания с кортежами
Использование выражений switch с сопоставлением с образцом для кортежей (нововведение в версии 8.0)
Деконструирование кортежей
Деконструирование кортежей с позиционным сопоставлением с образцом (нововведение в версии 8.0)
Резюме
Часть III
Глава 5
Знакомство с типом класса C#
Размещение объектов с помощью ключевого слова new
Понятие конструкторов
Роль стандартного конструктора
Определение специальных конструкторов
Конструкторы в виде членов, сжатых до выражений (нововведение в версии 7.0)
Конструкторы с параметрами out (нововведение в версии 7.3)
Еще раз о стандартном конструкторе
Роль ключевого слова this
Построение цепочки вызовов конструкторов с использованием this
Исследование потока управления конструкторов
Еще раз о необязательных аргументах
Понятие ключевого слова static
Определение статических полей данных
Определение статических методов
Определение статических конструкторов
Определение статических классов
Импортирование статических членов с применением ключевого слова using языка C#
Основные принципы объектно-ориентированного программирования
Роль инкапсуляции
Роль наследования
Роль полиморфизма
Модификаторы доступа C# (обновление в версии 7.2)
Использование стандартных модификаторов доступа
Использование модификаторов доступа и вложенных типов
Первый принцип объектно-ориентированного программирования: службы инкапсуляции C#
Инкапсуляция с использованием традиционных методов доступа и изменения
Инкапсуляция с использованием свойств
Свойства как члены, сжатые до выражений (нововведение в версии 7.0)
Использование свойств внутри определения класса
Свойства, допускающие только чтение
Свойства, допускающие только запись
Смешивание закрытых и открытых методов get/set в свойствах
Еще раз о ключевом слове static: определение статических свойств
Сопоставление с образцом и шаблоны свойств (нововведение в версии 8.0)
Понятие автоматических свойств
Взаимодействие с автоматическими свойствами