Дом развитие Какие дженерики в с? - определение из техопедии

Какие дженерики в с? - определение из техопедии

Оглавление:

Anonim

Определение - Что означает Дженерикс?

Обобщения относятся к функции в C #, которая позволяет определить класс или метод с типом в качестве параметра.


Обобщения позволяют проектировать классы и методы, типы которых указываются только во время объявления и создания экземпляров. Это позволяет разрабатывать универсальные классы и методы, которые помогают повысить производительность, производительность и безопасность типов.


Обобщения часто используются при создании классов коллекций для реализации таких понятий, как списки, хеш-таблицы, очереди и т. Д. Эти классы управляют набором объектов и инкапсулируют операции, которые не относятся к конкретному типу данных.


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

Техопедия объясняет дженерики

Обобщения были введены в C # 2.0 как часть Common Language Runtime .NET, чтобы преодолеть ограничение в реализации обобщения в более ранних версиях. Обобщение было выполнено путем приведения типов к универсальному базовому типу System.Object, который не был безопасным для типов и требовал приведения типов, что приводило к снижению производительности.


Некоторые из преимуществ использования дженериков включают в себя:

  • Приведение не требуется для доступа к каждому элементу в коллекции
  • Код клиента, который использует дженерики, является безопасным по типу во время выполнения, предотвращая использование данных, тип которых отличается от того, который используется в объявлении
  • Код не дублируется для нескольких типов данных

Список коллекционный класс является примером универсального класса, предоставляемого в библиотеке классов .NET Framework, который можно использовать для добавления, удаления и поиска элемента любого типа (T), который передается в качестве параметра ему. Когда экземпляр класса List создается с параметром типа в клиентском коде, он будет похож на конкретный класс, реализованный с тем же типом.


Обобщения похожи на шаблоны C ++ по концепции, но отличаются в основном реализацией.

Это определение было написано в контексте C #
Какие дженерики в с? - определение из техопедии