Шаг 259.
Язык программирования C#. Начала.
Обобщенные типы. Обобщенные структуры

    На этом шаге мы рассмотрим использование таких структур.

    Структуры также могут быть обобщенными. Принцип описания и использования обобщенных структур, в общем-то, такой же, как и в случае с обобщенными классами. Просто нужно помнить, что мы имеем дело со структурами, со всеми вытекающими отсюда последствиями. Пример использования обобщенных структур представлен в примере ниже.

using System; 
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace pr259_1
{
    // Обобщенная структура: 
    struct MyStruct<X, Y> {
        // Поля обобщенных типов: 
        public X first; 
        public Y second;
        // Конструктор: 
        public MyStruct(X a, Y b) { 
            first = a; 
            second = b;
        }
        // Метод для отображения значений полей: 
        public void show() {
            Console.WriteLine("Первое поле: {0}", first); 
            Console.WriteLine("Второе поле: {0}", second);
        }
    }

    // Главный класс: 
    class Program
    {
        static void Main()
        {
            // Создание экземпляра структуры:
            MyStruct<string, int> A;
            // Присваивание значений полям экземпляра структуры:
            A.first = "MyStruct";
            A.second = 100;
            // Вызов метода из экземпляра структуры:
            A.show();
            // Создание экземпляра структуры:
            MyStruct<char, int> B = new MyStruct<char, int>('B', 200); 
            // Вызов метода из экземпляра структуры:
            B.show();
            // Задержка:
            Console.ReadLine();
        }
    }
}
Архив проекта можно взять здесь.

    Результат выполнения программы следующий:


Рис.1. Результат работы приложения

    Программа представляет собой упрощенный вариант примера из предыдущего шага, но на этот раз мы вместо обобщенного класса использовали обобщенную структуру. Структура называется MyStruct, и у нее два обобщенных параметра (обозначены как X и Y). В структуре описаны два поля обобщенного типа, конструктор с двумя аргументами и метод show() для отображения значений полей. В главном методе программы создаются экземпляры структуры, полям экземпляров в случае необходимости присваиваются значения. Для поверки значений полей экземпляров структуры вызывается метод show().

    На следующем шаге мы рассмотрим обобщенные интерфейсы.




Предыдущий шаг Содержание Следующий шаг