Программируем на C# 8.0. Разработка приложений - Иэн Гриффитс - E-Book

Программируем на C# 8.0. Разработка приложений E-Book

Иэн Гриффитс

0,0
10,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

C# — универсальный язык, который может практически всё! Иэн Гриффитс рассказывает о его возможностях с точки зрения разработчика, перед которым стоит задача быстро и эффективно создавать приложения любой сложности. Множество примеров кода научат работать с шаблонами, LINQ и асинхронными возможностями языка. Вы разберетесь с асинхронными потоками, ссылочными типами, допускающими значение NULL, сопоставлениями с образцом, реализациями по умолчанию для метода интерфейса, диапазонами и синтаксисом индексации и многим другим.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 1310

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Иэн Гриффитс
Программируем на C# 8.0. Разработка приложений

Переводчик Р. Чикин

Литературный редактор М. Петруненко

Художник В. Мостипан

Корректоры М. Одинокова, Н. Сулейманова

Иэн Гриффитс

Программируем на C# 8.0. Разработка приложений. — СПб.: Питер, 2021.

ISBN 978-5-4461-1638-6

© ООО Издательство "Питер", 2021

Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.

Оглавление

Предисловие
Для кого эта книга
Условные обозначения
Использование примеров кода
Благодарности
От издательства
Глава 1. Знакомство с языком C#
Почему C#?
Отличительные черты С#
Стандарты и реализация C#
Visual Studio и Visual Studio Code
Анатомия простой программы
Итог
Глава 2. Основы написания кода на C#
Локальные переменные
Инструкции и выражения
Комментарии и пробелы
Директивы препроцессора
Основные типы данных
Операторы
Управление потоком
Шаблоны
Итог
Глава 3. Типы
Классы
Структуры
Члены
Интерфейсы
Перечисления
Другие типы
Частичные типы и методы
Итог
Глава 4. Обобщения
Обобщенные типы
Ограничения
Нулевые значения
Обобщенные методы
Обобщения и кортежи
Внутренние обобщения
Итог
Глава 5. Коллекции
Массивы
Класс List<T>
Интерфейсы списков и последовательностей
Реализация списков и последовательностей
Обращение к элементам по индексу и синтаксис диапазона
Словари
Множества
Очереди и стеки
Связные списки
Параллельные коллекции
Неизменяемые коллекции
Итог
Глава 6. Наследование
Наследование и преобразования
Наследование интерфейса
Обобщения
System.Object
Доступность и наследование
Виртуальные методы
Запечатанные методы и классы
Доступ к членам базового класса
Наследование и конструирование
Специальные базовые типы
Итог
Глава 7. Время жизни объекта
Сборка мусора
Деструкторы и финализация
IDisposable
Упаковка
Итог
Глава 8. Исключения
Источники исключений
Обработка исключений
Выдача исключений
Типы исключений
Необработанные исключения
Итог
Глава 9. Делегаты, лямбды и события
Делегаты
Анонимные функции
События
Сравнение делегатов и интерфейсов
Итог
Глава 10. LINQ
Выражения запроса
Отложенное вычисление
LINQ, обобщения и IQueryable<T>
Стандартные операторы LINQ
Генерирование последовательностей
Другие реализации LINQ
Итог
Глава 11. Реактивные расширения
Ключевые интерфейсы
Публикация и подписка с использованием делегатов
Построители последовательностей
Запросы LINQ
Операторы запроса из Rx
Планировщики
Субъекты
Адаптация
Операции для работы со временем
Итог
Глава 12. Сборки
Анатомия сборки
Определение типа
Загрузка сборок
Имена сборок
Итог
Глава 13. Отражение
Типы отражения
Контексты отражения
Итог
Глава 14. Атрибуты
Применение атрибутов
Определение и использование атрибутов
Итог
Глава 15. Файлы и потоки
Класс Stream
Ориентированные на текст типы
Файлы и каталоги
Сериализация
Итог
Глава 16. Многопоточность
Потоки
Синхронизация
Задачи
Другие асинхронные шаблоны
Отмена
Параллелизм
Итог
Глава 17. Асинхронные возможности языка
Ключевые слова async и await
Шаблон await
Обработка ошибок
Итог
Глава 18. Эффективная работа с памятью
(Не) копируйте это
Представление последовательных элементов с помощью Span<T>
Представление последовательных элементов с помощью Memory<T>
ReadOnlySequence<T>
Обработка потоков данных с помощью конвейеров
Итог
Об авторе
Об обложке
Рекомендуем прочитать

Посвящаю эту книгу своей прекрасной жене Деборе и чудесным дочерям Хейзел, Виктории и Лире. Спасибо за то, что делаете мою жизнь ярче!

Предисловие

Язык C# существует уже около двух десятилетий. Он неуклонно развивался и в плане возможностей, и в плане размера, но основные характеристики Microsoft всегда сохраняла без изменений. Каждая новая возможность должна идеально вписываться в состав предыдущих, улучшая язык, а не превращая его в несвязный набор различных функций.

Несмотря на то что C# по-прежнему остается довольно простым языком, о нем можно сказать гораздо больше, чем о его первом воплощении. Поскольку охват книги достаточно большой, от читателей ожидается определенный уровень технической подготовки.

Для кого эта книга

Книга написана для опытных разработчиков, каковым являюсь я сам. Я решил написать такую книгу, которую хотел бы прочитать сам, если бы уже знал какой-то язык и вдруг решил изучить C#. В то время как более ранние издания объясняли некоторые базовые понятия — классы, полиморфизм и коллекции, я предполагаю, что читатели уже знакомы с этим. И хотя первые главы все еще описывают, как в C# представлены эти общие идеи, основное внимание уделяется деталям, специфичным для C#.

Условные обозначения

В книге используются следующие обозначения:

Курсив

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

Моноширинныйшрифт

Применяется для оформления листингов программ и программных элементов внутри обычного текста, таких как имена переменных и функций, баз данных, типов данных, переменных среды, операторов и ключевых слов.

Моноширинныйжирный

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

Моноширинныйкурсив

Обозначает текст, который должен замещаться фактическими значениями, вводимыми пользователем или определяемыми из контекста.

Так выделяются советы и предложения.

Так обозначаются советы, предложения и примечания общего характера.

Так обозначаются предупреждения и предостережения.

Использование примеров кода

Дополнительный материал (примеры кода, упражнения и т.д.) доступны для загрузки по адресу http://oreil.ly/Programming_Csharp.

Если у вас имеется технический вопрос или обнаружилась проблема с использованием примеров кода, отправьте электронное письмо на адрес [email protected].

Эта книга существует для того, чтобы помочь вам выполнить свою работу. В целом вы можете использовать любой фрагмент кода из примеров в этой книге в собственных программах и документации. Вам не нужно обращаться к нам за разрешением, если только вы не воспроизводите значительную часть кода. Например, написание программы, которая использует несколько фрагментов кода из этой книги, не требует получения разрешений. В свою очередь, продажа или распространение примеров из книг O’Reilly требует разрешения. Чтобы ответить на вопрос, сославшись на эту книгу и приведя листинг кода, разрешения не требуется. Включение значительного количества примеров кода из этой книги в документацию вашего продукта требует разрешения.

Если вы считаете, что использование примеров кода выходит за рамки добросовестного использования или требует дополнительного разрешения, свяжитесь с нами по адресу [email protected].

Благодарности

Большое спасибо научным редакторам книги: Стивену Тоубу (Stephen Toub), Говарду ван Роиджену (Howard van Rooijen) и Глину Гриффитсу (Glyn Griffiths). Также я хотел бы поблагодарить тех, кто вычитывал отдельные главы или как-то помогал или предоставлял информацию, которая сделала эту книгу лучше. Вот эти люди: Брайан Расмуссен (Brian Rasmussen), Эрик Липперт (Eric Lippert), Эндрю Кеннеди (Andrew Kennedy), Даниэль Синклер (Daniel Sinclair), Брайан Рэнделл (Brian Randell), Майк Вудринг (Mike Woodring), Майк Таулти (Mike Taulty), Мэри Джо Фоули (Mary Jo Foley), Барт Де Смет (Bart De Smet), Мэтью Адамс (Matthew Adams), Джесс Панни (Jess Panni), Джонатан Джордж (Jonathan George), Майк Лара (Mike Larah), Кармел Ив (Carmel Eve) и Эд Фриман (Ed Freeman). В частности, спасибо компании endjin за то, что позволили мне не только выделить рабочее время на написание этой книги, но и предоставили для этого все условия.

Спасибо всем в O’Reilly, чей труд помог этой книге родиться на свет. В частности, спасибо Корбину Коллинзу (Corbin Collins) за его поддержку и Тайлеру Ортману (Tyler Ortman) за поддержку в начале проекта. Также благодарю Кассандру Фуртадо (Cassandra Furtado), Дебору Бейкер (Deborah Baker), Рона Билодо (Ron Bilodeau), Ника Адамса (Nick Adams), Ребекку Демарест (Rebecca Demarest), Карен Монтгомери (Karen Montgomery) и Кристен Браун (Kristen Brown) за их помощь в завершении работы. Спасибо также Соне Сарубе (Sonia Saruba) и Кристине Эдвардс (Christina Edwards) за тщательное редактирование текста и такую же тщательную корректуру. Наконец, спасибо Джону Осборну (John Osborn) за то, что принял меня в ряды авторов O’Reilly, когда я писал свою первую книгу.

От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу [email protected] (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.