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

Вид: 18301|Ответ: 1

[Связь] Общие примеры C# подробно объясняются

[Скопировать ссылку]
Опубликовано 28.01.2019 16:03:40 | | | |
1. Что такое дженерика?

Дженерикс — это новый синтаксис, введённый в C# 2.0, не синтаксический сахар, а функции, предоставленные обновлениями фреймворка в версии 2.0.

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

2. Зачем использовать дженерики

Рассмотрим следующий пример:
Результат:

Из приведённых выше результатов видно, что эти три метода имеют одинаковые функции, за исключением разных параметров, которые они проходят. На момент выхода версии 1.0 не существовало понятия дженериков, так что что делать. Я считаю, что многие думают о наследовании одной из трёх основных особенностей ООП: мы знаем, что в C# объект — это базовый класс всех типов, и вышеуказанный код оптимизируется следующим образом:
Результат:

Из приведённых выше результатов видно, что использование типа объекта соответствует нашим требованиям и решает возможность повторного использования кода. Некоторые могут спросить, почему возможно передавать int, string и т.д., если это определено как тип объекта? Есть две причины:

1. Тип объекта — это родительский класс всех типов.

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

Но вышеуказанный метод объектного типа создаёт ещё одну проблему: коробка и распаковка могут снижать производительность программы.

Microsoft выпустила генерики в C# 2.0, которые очень хорошо решают вышеуказанные задачи.

3. Общие типовые параметры

В определении общего типа или метода параметр типа — это заполнитель, заданный клиентом для конкретного типа при создании переменной общего типа. Генерический класс (<T>GenericList) не может использоваться как есть, так как он не является истинным типом; Это скорее чертёж типов. Для использования <T>GenericList клиентский код должен объявить и инстанцировать тип конструкции, указывая параметр типа в угловых скобках. Аргумент типа для этого конкретного класса может быть любым типом, который распознаёт компилятор. Вы можете создавать любое количество экземпляров типа конструкций, каждый с разным параметром типа.

Код в приведённом выше примере можно изменить следующим образом:
Звонок:
Результаты показать:






Предыдущий:Провайдеры файлов .NET Core
Следующий:Имя базы данных MySQL, имя таблицы и запрос по имени поля
Опубликовано 29.01.2019 4:08:13 |
Очень хорошо, тщательно, и базовые вещи стоит проверять больше
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com