예제 #1
0
        public override bool Equals(Object obj)
        {
            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }
            Crocodile <T> temp = (Crocodile <T>)obj;

            if (temp == null)
            {
                return(false);
            }
            else
            {
                return(base.Equals(temp));
            }
            //return Name == temp.Name &&
            //BodyLength == temp.BodyLength &&
            //Weight == temp.Weight;
        }
예제 #2
0
        private static void Users_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:     // если добавление
                Crocodile <string> newCroco = e.NewItems[0] as Crocodile <string>;
                Console.WriteLine($"Добавлен новый объект: {newCroco.Name}");
                break;

            case NotifyCollectionChangedAction.Remove:     // если удаление
                Crocodile <string> oldCroco = e.OldItems[0] as Crocodile <string>;
                Console.WriteLine($"Удален объект: {oldCroco.Name}");
                break;

            case NotifyCollectionChangedAction.Replace:     // если замена
                Crocodile <string> replacedCroco  = e.OldItems[0] as Crocodile <string>;
                Crocodile <string> replacingCroco = e.NewItems[0] as Crocodile <string>;
                Console.WriteLine($"Объект {replacedCroco.Name} заменен объектом {replacingCroco.Name}");
                break;
            }
        }
예제 #3
0
        public int CompareTo(object obj)// определяет среднию длину тела крокодилов заданного вида
        {
            Crocodile <T> CR = obj as Crocodile <T>;

            if (CR != null)
            {
                if (this.BodyLength < CR.BodyLength)
                {
                    return(-1);
                }
                else if (this.BodyLength > CR.BodyLength)
                {
                    return(1);
                }
                else
                {
                    return(0);
                }
            }
            else
            {
                throw new Exception("Параметр должен быть типа Crocodile");
            }
        }
예제 #4
0
        static void Main(string[] args)
        {
            ArrayList <string> list = new ArrayList <string>()
            {
                "A", "B", "C", "D", "E", "F", "J", "H", "I", "G", "K", "L"
            };

            // перебор значений
            foreach (object o in list)
            {
                Console.Write($"{o} ");
            }

            //количество элементов
            Console.WriteLine($"\nколичество элементов: {list.Count}");

            Console.WriteLine($"\n - заносим в список элемент 'FF' ");
            list.Add("FF"); // заносим в список строковый массив

            // перебор значений
            foreach (object o in list)
            {
                Console.Write($"{o} ");
            }

            // удаляем первый элемент
            Console.WriteLine($"\n{list[0]} - удаляем первый элемент");
            list.RemoveAt(0);

            // перебор значений
            for (int i = 0; i < list.Count; i++)
            {
                Console.Write($"{list[i]} ");
            }

            // получение элемента по индексу
            Console.WriteLine($"\n{list[0]} - получение элемента по индексу [0]");

            //поиск в коллекции значения
            if (list.Contains("E"))
            {
                // перебор значений
                foreach (object o in list)
                {
                    if (o == "E")
                    {
                        Console.Write($"\n{o} - 'E' поиск успешен");
                    }
                    else
                    {
                        Console.Write($"\n{o} - не 'E' ");
                    }
                }
            }
            Console.WriteLine($"\n");

            var hs = new System.Collections.Generic.HashSet <long>();

            for (long i = 0; i < 10; i++)
            {
                hs.Add(i);
            }

            foreach (var item in hs)
            {
                Console.Write($" {item}");
            }
            Console.WriteLine();

            for (int i = 0; i < hs.Count; i++)
            {
                hs.Remove(i + 1);
            }

            foreach (var item in hs)
            {
                Console.Write($" {item}");
            }
            Console.WriteLine("\n");

            var sl = new System.Collections.Generic.SortedList <long, string>();

            foreach (var item in hs)
            {
                sl.Add(item, "Book");
            }

            foreach (var item in sl)
            {
                Console.Write($" {item}");
            }
            Console.WriteLine("\n");

            foreach (var item in sl)
            {
                if (item.Key == 9)
                {
                    Console.WriteLine($"Совпадение по запросу: 9 - найдено! ({item.Key})");
                }
                else
                {
                    Console.WriteLine($"Совпадение по запросу: 9 - не найдено!!! ({item.Key})");
                }
            }
            Console.WriteLine("\n");

            var CrocoSortedList = new System.Collections.Generic.SortedList <float, Crocodile <string> >();

            CrocoSortedList.Add(0, new Crocodile <string>("Crocodile1", 4));
            CrocoSortedList.Add(1, new Crocodile <string>("Crocodile2", 3));
            CrocoSortedList.Add(2, new Crocodile <string>("Crocodile3", 2));
            CrocoSortedList.Add(3, new Crocodile <string>("Crocodile4", 5));
            CrocoSortedList.Add(4, new Crocodile <string>("Crocodile5", 7));
            CrocoSortedList.Add(5, new Crocodile <string>("Crocodile6", 6));
            CrocoSortedList.Add(6, new Crocodile <string>("Crocodile7", 9));
            CrocoSortedList.Add(7, new Crocodile <string>("Crocodile8", 8));
            CrocoSortedList.Add(8, new Crocodile <string>("Crocodile9", 2));
            CrocoSortedList.Add(9, new Crocodile <string>("Crocodile10", 1));

            // Вывод значения полей объектов на консоль. Используется перегруженный метод ToString() класса Crocodile<T> .
            foreach (object o in CrocoSortedList)
            {
                Console.Write($"\n{o} ");
            }
            Console.WriteLine("\n");

            //поиск в коллекции значения
            foreach (var item in CrocoSortedList)
            {
                if (item.Value == CrocoSortedList[3])
                {
                    Console.WriteLine($"Совпадение по запросу: Crocodile4 - найдено! ({item.Key})");
                }
                else
                {
                    Console.WriteLine($"Совпадение по запросу: Crocodile4 - не найдено!!! ({item.Key})");
                }
            }
            Console.WriteLine("\n");

            var CrocoHashSet = new System.Collections.Generic.HashSet <Crocodile <string> >();

            foreach (var item in CrocoSortedList)
            {
                CrocoHashSet.Add(item.Value);
            }

            // Вывод значения полей объектов на консоль. Используется перегруженный метод ToString() класса Crocodile<T> .
            foreach (object o in CrocoHashSet)
            {
                Console.Write($"\n{o} ");
            }
            Console.WriteLine("\n");

            // Удаляем элемент с идентификационным номером 3. Компаратор будет сравнивать объекты именно по идентификационному номеру соответствие имени объекта не учитывается.
            Console.WriteLine("\nУдаляем элемент с идентификатором(\"3\")");
            CrocoHashSet.Remove(new Crocodile <string>("Crocodile4", 5));

            // Вывод значения полей объектов на консоль. Используется перегруженный метод ToString() класса Crocodile<T> .
            foreach (object o in CrocoHashSet)
            {
                Console.Write($"\n{o} ");
            }
            Console.WriteLine("\n");


            //-------------------------------------------------------------------------------------------------------

            ObservableCollection <Crocodile <string> > crocodiles = new ObservableCollection <Crocodile <string> >
            {
                new Crocodile <string>("Crocodile4", 5),
                new Crocodile <string>("Crocodile11", 6),
                new Crocodile <string>("Crocodile12", 7)
            };

            crocodiles.CollectionChanged += Users_CollectionChanged;

            crocodiles.Add(new Crocodile <string>("Crocodile13", 5));
            crocodiles.RemoveAt(1);
            crocodiles[0] = new Crocodile <string>("Crocodile14", 6);

            foreach (Crocodile <string> crocodile in crocodiles)
            {
                Console.WriteLine(crocodile.Name);
            }

            Console.ReadLine();
        }