Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Роль отложенного выполнения
Роль немедленного выполнения
Возвращение результатов запроса LINQ
Возвращение результатов LINQ посредством немедленного выполнения
Применение запросов LINQ к объектам коллекций
Доступ к содержащимся в контейнере подобъектам
Применение запросов LINQ к необобщенным коллекциям
Фильтрация данных с использованием метода OfТуре<Т>()
Исследование операций запросов LINQ
Базовый синтаксис выборки
Получение подмножества данных
Проецирование в новые типы данных
Проецирование в другие типы данных
Подсчет количества с использованием класса Enumerable
Изменение порядка следования элементов в результирующих наборах на противоположный
Выражения сортировки
LINQ как лучшее средство построения диаграмм Венна
Устранение дубликатов
Операции агрегирования LINQ
Внутреннее представление операторов запросов LINQ
Построение выражений запросов с применением операций запросов
Построение выражений запросов с использованием типа Enumerable и лямбда-выражений
Построение выражений запросов с использованием типа Enumerable и анонимных методов
Построение выражений запросов с использованием типа Enumerable и низкоуровневых делегатов
Резюме
Глава 14
Роль процесса Windows
Роль потоков
Взаимодействие с процессами используя платформу .NET Core
Перечисление выполняющихся процессов
Исследование конкретного процесса
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})Исследование набора потоков процесса
Исследование набора модулей процесса
Запуск и останов процессов программным образом
Управление запуском процесса с использованием класса ProcessStartInfo
Использование команд операционной системы с классом ProcessStartInfo
Домены приложений .NET
Класс System.AppDomain
Взаимодействие со стандартным доменом приложения
Перечисление загруженных сборок
Изоляция сборок с помощью контекстов загрузки приложений
Итоговые сведения о процессах, доменах приложений и контекстах загрузки
Резюме
Глава 15
Отношения между процессом, доменом приложения, контекстом и потоком
Сложность, связанная с параллелизмом
Роль синхронизации потоков
Пространство имен System.Threading
Класс System.Threading.Thread
Получение статистических данных о текущем потоке выполнения
Свойство Name
Свойство Priority
Ручное создание вторичных потоков
Работа с делегатом ThreadStart
Работа с делегатом ParametrizedThreadStart
Класс AutoResetEvent
Потоки переднего плана и фоновые потоки
Проблема параллелизма
Синхронизация с использованием ключевого слова lock языка C#
Синхронизация с использованием типа System.Threading.Monitor
Синхронизация с использованием типа System.Threading.Interlocked