Редактирование: Сравнение Языков Программирования
Материал из eSyr's wiki.
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
ПРЕДУПРЕЖДЕНИЕ: Длина этой страницы составляет 167 килобайт. Страницы, размер которых приближается к 32 КБ или превышает это значение, могут неверно отображаться в некоторых браузерах. Пожалуйста, рассмотрите вариант разбиения страницы на меньшие части.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 1711: | Строка 1711: | ||
: new() - означает, что параметр-тип должен иметь конструктор умолчания (без параметров). | : new() - означает, что параметр-тип должен иметь конструктор умолчания (без параметров). | ||
- | |||
- | Пример универсального шаблона (generic), реализующего односвязный список. | ||
- | // type parameter T in angle brackets | ||
- | public class GenericList<T> | ||
- | { | ||
- | // The nested class is also generic on T. | ||
- | private class Node | ||
- | { | ||
- | // T used in non-generic constructor. | ||
- | public Node(T t) | ||
- | { | ||
- | next = null; | ||
- | data = t; | ||
- | } | ||
- | private Node next; | ||
- | public Node Next | ||
- | { | ||
- | get { return next; } | ||
- | set { next = value; } | ||
- | } | ||
- | // T as private member data type. | ||
- | private T data; | ||
- | // T as return type of property. | ||
- | public T Data | ||
- | { | ||
- | get { return data; } | ||
- | set { data = value; } | ||
- | } | ||
- | } | ||
- | private Node head; | ||
- | // constructor | ||
- | public GenericList() | ||
- | { | ||
- | head = null; | ||
- | } | ||
- | // T as method parameter type: | ||
- | public void AddHead(T t) | ||
- | { | ||
- | Node n = new Node(t); | ||
- | n.Next = head; | ||
- | head = n; | ||
- | } | ||
- | public IEnumerator<T> GetEnumerator() | ||
- | { | ||
- | Node current = head; | ||
- | while (current != null) | ||
- | { | ||
- | yield return current.Data; | ||
- | current = current.Next; | ||
- | } | ||
- | } | ||
- | } | ||
== Параллельное программирование == | == Параллельное программирование == |