Учебно-методический комплекс общее количество часов 58 ч. Лекции 28 ч
Download 2.46 Mb.
|
Язык программирования C#
- Bu sahifa navigatsiya:
- 19.2. Создание и использование обобщенных методов
19. ОБОБЩЕНИЕ
19.1. Понятие обобщения Обобщения – средство языка C#, предназначенное для кодирования обобщённых алгоритмов, без привязки к типам данных. Механизм обобщений позволяет создавать обобщенные методы, классы, структуры, интерфейсы и делегаты в которых типы переменных определяются клиентским кодом во время компиляции. Суть механизм обобщений заключается в следующем. Разработчик определяет алгоритм, например, сортировку, поиск, замену, преобразование и т.д. но не указывает конкретный тип данных, с которым работает этот алгоритм. Именно поэтому алгоритм можно обобщенно применять к объектам разных типов. Используя готовый алгоритм, другой разработчик просто указывает конкретный тип, например, для сортировки Integer, String или даже Record и Class. Код, использующий шаблоны, просто передает в качестве одного из параметров нужный ему тип данных. 19.2. Создание и использование обобщенных методов Для определения обобщенного метода необходимо после его имени перед круглыми скобками со списком формальных параметров поставить угловые скобки, содержащие переменные типа. Для иллюстрации работы с обобщенными методами приведем классический пример метода Swap(), обменивающего значения преданных ему переменных. Обобщенный метод способен обменивать значения переменных любого типа. void Swap { T temp; temp = v1; v1 = v2; v2 = temp; } Лист. 10.1 Напишем теперь метод вызывающий наш обобщенный Swap(). public static void Main() { // Обмен между двумя целыми. int a = 10, b = 90; Console.WriteLine("До обмена: {0}, {1}", a, b); Swap Console.WriteLine("После обмена: {0}, {1}", a, b); Console.WriteLine(); // Обмен между двумя строками. string s1 = "Hello", s2 = "There"; Console.WriteLine("До обмена: {0} {1}!", s1, s2); Swap Console.WriteLine("После обмена: {0} {1}!", s1, s2); Console.ReadLine(); } Лист. 10.2 Эта программа вызывает метод Swap() сначала для двух целых чисел, а затем для двух строк. Значения переменных выводятся до и после вызова. Вывод программы: До обмена: 10, 90 После обмена: 90, 10 До обмена: Hello There! После обмена: There Hello! Вывод. 10.1 Обычно при вызове реальный тип должен быть указан в угловых скобках после имени вызываемого метода. Swap Лист. 10.3 Если компилятор может определить тип, исходя из контекста аргументов, как в данном случае, то угловые скобки можно опустить. Swap(ref a, ref b); Лист. 10.4 Download 2.46 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling