- •Введение
- •Оглавление
- •Общие типы (generics)
- •Типы интерфейсов
- •Типы делегатов
- •Встроенные типы данных
- •Преимущества использования общих типов
- •Интерфейсы вC# Синтаксис интерфейса
- •Реализация интерфейса
- •Использование интерфейсных ссылок
- •Делегаты в c#
- •Описание делегатов
- •Использование делегатов
- •Массивы
- •Использование делегатов вместо интерфейсов
- •Практика
- •Программа 1
- •Программа 2
- •Заключение
- •Литература
Программа 2
using System;
public interface IElement
{ void newE();
int summ(); }
public class MyElement : IElement
{ public string name;
public int e1;
public int e2;
public void newE()
{ name = Console.ReadLine();
e1 = Convert.ToInt32(Console.ReadLine());
e2 = Convert.ToInt32(Console.ReadLine());
}
public int summ()
{
return (e1 + e2);
}
}
delegate int Delegate1(IElement[] arr);
public class Test
{ static int MaxElem (IElement[] arr)
{ int n = 0;
int max = arr[0].summ();
for (int i = 1; i < 5; i ++)
{ if (arr[i].summ() > max)
{ max = arr[i].summ();
n = i;
}
}
return n;
}
public static void Main()
{
Delegate1 d1 = new Delegate1(MaxElem);
IElement[] array1 = new IElement[5];
array1[0] = new MyElement();
array1[0].newE();
array1[1] = new MyElement();
array1[1].newE();
array1[2] = new MyElement();
array1[2].newE();
array1[3] = new MyElement();
array1[3].newE();
array1[4] = new MyElement();
array1[4].newE();
int c = d1(array1);
Console.WriteLine("Номер элемента с максимальной суммой:");
Console.WriteLine(c);
}
}
Заключение
В ходе изучения данной темы моей целью было рассмотреть, как используются общие типы при описании интерфейсов и делегатов, и рассмотреть это на примерах задач поиска в массивах.
При детальном изучении данной темы я выяснила, что использование в программе и интерфейсов и делегатов значительно упрощает написание программы и решение поставленной задачи, так как сама программа может быть описана намного короче и стать более просто для понимания.
Литература
Л.Е. Потапова «Объектно-ориентированное программирование на языке С#»
Т.Е. Павловская «Программирование на языке С#»
Tdoc.ru «Новинки языка C#.NET»
Википедия
Э. Стиллмен, Дж. Грин «Изучаем С#»
Витебск, 2015