С# — дженерики
Общие позволяют определить спецификацию типа данных элементов программирования в классе или методе до тех пор, пока он не будет фактически использован в программе. Другими словами, дженерики позволяют вам написать класс или метод, который может работать с любым типом данных.
Вы пишете спецификации для класса или метода с параметрами-заменителями типов данных. Когда компилятор встречает конструктор для класса или вызов функции для метода, он генерирует код для обработки определенного типа данных. Простой пример поможет понять концепцию —
Живая демонстрация01
Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
10пре>Возможности обобщений
Обобщения — это метод, который обогащает ваши программы следующими способами —
-
Это поможет максимально увеличить повторное использование кода, безопасность типов и производительность.
-
Вы можете создавать общие классы коллекций. Библиотека классов .NET Framework содержит несколько новых универсальных классов коллекций в разделе System.Collections.Generic. пространство имен. Вы можете использовать эти универсальные классы коллекций вместо классов коллекций в System.Collections. пространство имен.
-
Вы можете создавать свои собственные универсальные интерфейсы, классы, методы, события и делегаты.
-
Вы можете создавать универсальные классы, ограничивающие доступ к методам определенных типов данных.
-
Вы можете получить информацию о типах, используемых в универсальном типе данных, во время выполнения с помощью отражения.
Общие методы
В предыдущем примере мы использовали универсальный класс; мы можем объявить общий метод с параметром типа. Следующая программа иллюстрирует эту концепцию —
Живая демонстрация28
Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
32
Общие делегаты
Вы можете определить универсальный делегат с параметрами типа. Например —
40
В следующем примере показано использование этого делегата —
Живая демонстрация58
Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
61
Язык C
- C# Hello World — ваша первая программа на C#
- Ключевые слова и идентификаторы C#
- Переменные C# и (примитивные) типы данных
- Операторы С#
- Побитовые операторы C# и операторы сдвига битов
- Базовый ввод и вывод C#
- Выражения, операторы и блоки C# (с примерами)
- С# Комментарии
- Оператор переключения C#
- С# тернарный (?:) оператор