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

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

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

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

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

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

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

Резюме

Часть IV

Глава 10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Работа с классом List

Работа с классом Stack

Работа с классом Queue

Работа с классом SortedSet

Работа с классом Dictionary

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

Работа с классом ObservableCollection

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

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

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

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

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

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

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

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

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

Резюме

Глава 11

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT