Практическое руководство (C#)
В практическом руководстве по языку C# в разделе с инструкциями содержатся ответы на часто задаваемые вопросы. В некоторых случаях статьи могут быть указаны в нескольких разделах. Мы хотели упростить их обнаружение при использовании нескольких вариантов поиска.
Основные понятия C#
Существует несколько общих советов и рекомендаций для разработчиков на C#:
- Инициализация объектов с помощью инициализатора объектов.
- Различия между передачей структуры и класса в метод.
- Использование перегрузки операторов.
- Реализация и вызов пользовательского метода расширения.
- Создание метода для типа с помощью методов расширения.
Элементы "класс", "запись" и "структура"
Классы, записи и структуры создаются для реализации программы. При написании классов, записей или структур часто используются перечисленные ниже методы.
- Объявление автоматически реализуемых свойств.
- Объявление и использование свойств чтения и записи.
- Определение констант.
- Переопределение метода для предоставления строковых выходных данных.
- Определение абстрактных свойств.
- Использование возможностей XML-документации для документирования кода.
- Явная реализация членов интерфейса для обеспечения краткости открытого интерфейса.
- Явная реализация членов двух интерфейсов.
Работа с коллекциями
Следующие статьи содержат сведения о работе с коллекциями данных.
Работа со строками
Строки являются основным типом данных, используемым для отображения текста или работы с ним. В этих статьях приводятся распространенные варианты использования строк.
- Сравнение строк.
- Изменение содержимого строки.
- Определение того, представляет ли строка число.
- Использование для разделения строк.
- Объединение нескольких строк в одну.
- Поиск текста в строке.
Преобразование типов
Может потребоваться преобразовать объект к другому типу.
- Определение того, представляет ли строка число.
- Преобразование строк, представляющих шестнадцатеричные значения, и числа.
- Преобразование строки в .
- Преобразование массива байтов в значение типа int.
- Преобразование строки в число.
- Использование операторов сопоставления шаблонов и
is
для безопасного приведения к другому типу. - Определение пользовательского преобразования типов.
- Определение того, допускает ли тип значения NULL.
- Преобразование между типами значений, допускающие значения NULL, и типами, не допускающими значения NULL.
Упорядочение и сравнение на равенство
Можно создать типы, которые определяют собственные правила проверки на равенство или определяют естественное упорядочение объектов этого типа.
Обработка исключений
В программах на .NET сообщения о неудачных завершениях методов выводятся путем создания исключений. В следующих статьях вы узнаете, как работать с исключениями.
- Обработка исключений с помощью и
catch
. - Очистка ресурсов с помощью предложений .
- Восстановление в результате возникновения исключений, несовместимых с CLS.
Делегаты и события
Делегаты и события предоставляют возможность формирования стратегий использования слабосвязанных блоков кода.
События предоставляют механизм публикации уведомлений или подписки на них.
- Подписка и отмена подписки на события.
- Реализация событий, объявленных в интерфейсах.
- Соответствие рекомендациям .NET при публикации событий кодом.
- Создание событий, определенных в базовых классах, из производных классов.
- Реализация пользовательских методов доступа к событиям.
Рекомендации по LINQ
LINQ позволяет создавать код для запросов к любому источнику данных, который поддерживает шаблон выражения запроса LINQ. Сведения в следующих статьях помогут понять принципы использования шаблонов и работы с различными источниками данных.
- Запрос коллекции.
- Использование в выражениях запросов.
- Возвращение поднаборов свойств элементов из запроса.
- Создание запросов со сложной фильтрацией.
- Сортировка элементов источника данных.
- Сортировка элементов по нескольким ключам.
- Управление типом проекции.
- Подсчет вхождений значения в исходной последовательности.
- Вычисление промежуточных значений.
- Слияние данных из нескольких источников.
- Нахождение разности наборов между двумя последовательностями.
- Отладка пустых результатов запроса.
- Добавление настраиваемых методов в запросы LINQ.
Несколько потоков и асинхронная обработка
В современных программах часто используются асинхронные операции. Сведения о работе с ними приводятся в следующих статьях.
- Повышение производительности асинхронных операций с помощью .
- Параллельное выполнение нескольких веб-запросов с помощью и
await
. - Использование пула потоков.
Аргументы командной строки для программы
Как правило, в программах на C# используются аргументы командной строки. В следующих статьях содержатся сведения о доступе к этим аргументам командной строки и их обработке.