Что такое дженерики в C #?

Что такое дженерики в C #, проиллюстрированные простым примером? Каковы некоторые связанные статьи или сайты по этой теме?

Generics относится к методу написания кода для classа без указания типа (ов) данных, над которым работает class.

Вы указываете тип данных при объявлении экземпляра универсального classа. Это позволяет универсальному classу быть специализированным для разных типов данных, но только для того, чтобы писать class один раз.

Отличным примером являются многие classы коллекций в .NET. Каждый class коллекции имеет собственную реализацию того, как создается и управляется коллекция. Но они используют generics, чтобы позволить их classу работать с коллекциями любого типа.

http://msdn.microsoft.com/en-us/library/ms379564(VS.80).aspx

В C # нет ничего особенного в Generics. C # просто любит принимать известные концепции и называть их чем-то другим (например, вызов процедур «статические методы» или вызов flatMap « SelectMany »). В этом конкретном случае Generics – это просто имя C # для параметрического polymorphismа ранга-1.

Из MSDN:

Дженерики – самая мощная функция C #. Generics позволяет вам определять структуры данных типа типа, не привязанные к фактическим типам данных. Это приводит к значительному повышению производительности и более качественному коду, поскольку вы можете повторно использовать алгоритмы обработки данных, не дублируя код типа. В концепции дженерики похожи на шаблоны C ++, но существенно отличаются по своей реализации и возможностям.

https://msdn.microsoft.com/en-us/library/ms379564.aspx

  • Нечетный вызов метода в java с помощью оператора точек для доступа к универсальному списку
  • Как реализовать IEnumerable
  • Общий список анонимного classа
  • Общий код C # и оператор Plus
  • Потенциальное загрязнение кучи по параметру varargs
  • Объявлять экземпляр типового типа динамически
  • Создание объекта типа параметра
  • Java Generics: недопонимание подстановочных знаков
  • как экземпляр List ?
  • Как удалить элементы из общего списка во время итерации по нему?
  • Использование '? расширяет 'и'? супер 'в compilationе generics
  • Давайте будем гением компьютера.