Exemplo n.º 1
0
        public override bool Equals(Object obj)
        {
            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }
            Crocodile <U, V> temp = (Crocodile <U, V>)obj;

            return(base.Equals(temp));
            //return Name == temp.Name &&
            //BodyLength == temp.BodyLength &&
            //Weight == temp.Weight;
        }
Exemplo n.º 2
0
    {                     /*Задание
                           * 1. Создайте обобщенный интерфейс с операциями добавить, удалить, просмотреть.
                           * 2. Возьмите за основу лабораторную № 4 «Перегрузка операций» и сделайте из нее обобщенный тип (класс) CollectionType<T>,
                           * в который вложите обобщённую коллекцию. Наследуйте в обобщенном классе интерфейс из п.1.
                           * Реализуйте необходимые методы. Добавьте обработку исключений c finally. Наложите какое-либо ограничение на обобщение.
                           * 3. Проверьте использование обобщения для стандартных типов данных (в качестве стандартных типов использовать целые, вещественные и т.д.).
                           * Определить пользовательский класс, который будет использоваться в качестве параметра обобщения.
                           * Для пользовательского типа взять класс из лабораторной №5 «Наследование».
                           *
                           * Дополнительно: Добавьте методы сохранения объекта (объектов) обобщённого типа CollectionType<T> в файл и чтения из него.*/
        /*Краткие теоретические сведения*/
        static void Main(string[] args)
        {
            Queue <string> stringQueue = new Queue <string>();
            Queue <int>    intQueue    = new Queue <int>();
            Queue <int>    intQueue2   = new Queue <int>();

            string[] strmas = { "A", "B", "C", "D", "E", "F" };//char[] alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();
            foreach (string s in strmas)
            {
                stringQueue.Enqueue(s);
            }
            Console.WriteLine();

            foreach (string stringItem in stringQueue)
            {
                Console.WriteLine(stringItem);
            }
            Console.WriteLine();

            for (int i = 1; i <= 10; i++)
            {
                intQueue.Enqueue(i);
                intQueue2.Enqueue(i + 10);
            }
            Console.WriteLine();

            foreach (int intItem in intQueue)
            {
                Console.WriteLine(intItem);
            }

            Crocodile <Queue <int>, string> operation =
                new Crocodile <Queue <int>, string>()
            {
                BodyLength = intQueue,
                Weight     = intQueue2,
                Name       = "GHIJKLM"
            };

            Crocodile <int, string> operation2 =
                new Crocodile <int, string>()
            {
                BodyLength = 1234,
                Weight     = 1312313,
                Name       = "NOPQRSTU"
            };

            int x = 12;
            int y = 45;

            Swap <int>(ref x, ref y);

            string s1 = "hello";
            string s2 = "bye";

            Swap <string>(ref s1, ref s2);

            Console.WriteLine($"\n x = {x}, y = {y} \n s1 = {s1}, s2 = {s2}");

            Console.ReadKey();
        }