Esempio n. 1
0
        static void Main(string[] args)
        {
            var integers = new HashTable <int>(55);

            integers.Add(0);
            integers.Add(30);
            integers.Add(55);
            integers.Add(78);
            integers.Add(99);

            Console.WriteLine("integers: " + string.Join(", ", integers));

            Console.WriteLine("integers.Contains(78) = " + integers.Contains(78));

            Console.WriteLine("removing '55'");
            integers.Remove(55);
            Console.WriteLine("integers: " + string.Join(", ", integers));

            Console.WriteLine("copying integers to array and shifting elements 1 position right");
            var array = new int[integers.Count + 1];

            integers.CopyTo(array, 1);
            Console.WriteLine("array: " + string.Join(", ", array));

            Console.WriteLine("clearing integers");
            integers.Clear();
            Console.WriteLine("integers: " + string.Join(", ", integers));
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            try
            {
                HashTable <string> wood = new HashTable <string>();

                wood.Add("береза");
                wood.Add("осина");
                wood.Add("сосна");
                wood.Add("ель");
                wood.Add("рябина");
                wood.Add("ольха");
                wood.Add("дуб");
                wood.Add("бук");
                wood.Add("липа");
                wood.Add("акация");

                Console.WriteLine(wood);
                Console.WriteLine("количество элементов =" + wood.Count);

                Console.WriteLine("Проверим на наличие элемента акация: " + wood.Contains("акация"));
                Console.WriteLine("Проверим на наличие элемента пихта: " + wood.Contains("пихта"));

                string[] arrayWood = new string[10];
                wood.CopyTo(arrayWood, 0);
                Console.WriteLine("Скопируем таблицу в массив получим: ");

                foreach (string e in arrayWood)
                {
                    Console.WriteLine(e);
                }

                wood.Remove("липа");
                Console.WriteLine("Удалим элемент липа получим: " + Environment.NewLine + wood);

                wood.Clear();
                Console.WriteLine("Очистим таблицу получим: " + wood);
            }
            catch (ArgumentNullException e)
            {
                Console.WriteLine(e.ToString());
            }
            catch (ArgumentOutOfRangeException e)
            {
                Console.WriteLine(e.ToString());
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                Console.ReadKey();
            }
        }
Esempio n. 3
0
        private static void Main()
        {
            HashTable <int> hashTable = new HashTable <int>();

            int[] array = new int[10];

            hashTable.Add(5);
            hashTable.Add(2);
            hashTable.Add(13);
            hashTable.Add(522);
            hashTable.Add(125);
            hashTable.Add(9);
            hashTable.Add(55);

            foreach (int value in hashTable)
            {
                Console.WriteLine(value);
            }

            Console.WriteLine();
            Console.WriteLine(hashTable.Contains(9));
            Console.WriteLine(hashTable.Remove(13));

            Console.WriteLine();

            foreach (int value in hashTable)
            {
                Console.WriteLine(value);
            }

            Console.WriteLine();

            foreach (int value in hashTable)
            {
                Console.WriteLine(value);
            }

            Console.WriteLine();
            hashTable.CopyTo(array, 1);

            foreach (int value in array)
            {
                Console.WriteLine(value);
            }

            Console.ReadLine();
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            // начальные данные для теста
            string beginText = "Осенью имя рэпера часто упоминалось в отечественных СМИ СМИ";

            string[] beginArrayWords = beginText.Split(' ');

            //создание и заполнение хэш-таблицы
            HashTable <string> testHashTable = new HashTable <string>(beginArrayWords.Length);

            foreach (string word in beginArrayWords)
            {
                testHashTable.Add(word);
            }

            Console.WriteLine(testHashTable);
            Console.WriteLine();

            // тестируем количество элементов
            Console.Write("Количество элементов: ");
            Console.WriteLine(testHashTable.Count);
            Console.WriteLine();

            //тестируем удаление элемента
            Console.WriteLine("удалим \"в\"");

            testHashTable.Remove("в");

            Console.WriteLine(testHashTable);
            Console.WriteLine();

            Console.WriteLine("удалим отсутствующий элемент \"о\"");

            testHashTable.Remove("о");

            Console.WriteLine(testHashTable);
            Console.WriteLine();

            //тестируем итератор
            Console.WriteLine("-=тестируем итератор=-");
            try
            {
                foreach (string element in testHashTable)
                {
                    Console.WriteLine(element);
                }
            }
            catch (InvalidOperationException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.WriteLine("-=тестируем исключение из итератора=-");
            try
            {
                foreach (string element in testHashTable)
                {
                    Console.WriteLine(element);
                    testHashTable.Remove(element);
                }
            }
            catch (InvalidOperationException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.WriteLine();

            //тестируем копирование в массив
            Console.WriteLine("-=тестируем копирование в массив=-");

            string[] testArray = new string[testHashTable.Count];

            testHashTable.CopyTo(testArray, 0);

            foreach (string element in testArray)
            {
                Console.WriteLine(element);
            }

            Console.WriteLine();
            // тестируем исключения копирования в массив
            Console.WriteLine("-=тестируем исключения при копировании в массив=-");

            try
            {
                testHashTable.CopyTo(testArray, -1);
            }
            catch (ArgumentNullException e1)
            {
                Console.WriteLine(e1.Message);
            }
            catch (ArgumentOutOfRangeException e2)
            {
                Console.WriteLine(e2.Message);
            }
            catch (ArgumentException e3)
            {
                Console.WriteLine(e3.Message);
            }

            Console.WriteLine();

            string[] testArray1 = new string[testHashTable.Count - 1];
            try
            {
                testHashTable.CopyTo(testArray1, 0);
            }
            catch (ArgumentNullException e1)
            {
                Console.WriteLine(e1.Message);
            }
            catch (ArgumentOutOfRangeException e2)
            {
                Console.WriteLine(e2.Message);
            }
            catch (ArgumentException e3)
            {
                Console.WriteLine(e3.Message);
            }

            Console.WriteLine();

            string[] testArray2 = null;
            try
            {
                testHashTable.CopyTo(testArray2, 0);
            }
            catch (ArgumentNullException e1)
            {
                Console.WriteLine(e1.Message);
            }
            catch (ArgumentOutOfRangeException e2)
            {
                Console.WriteLine(e2.Message);
            }
            catch (ArgumentException e3)
            {
                Console.WriteLine(e3.Message);
            }

            Console.WriteLine();

            //тестируем очистку
            Console.WriteLine("очистка");

            testHashTable.Clear();

            Console.WriteLine(testHashTable);
            Console.WriteLine();

            //тестируем на работы с null
            Console.WriteLine("-=тестируем на работы с null=-");

            Console.WriteLine();

            testHashTable.Add(null);
            testHashTable.Add(null);
            testHashTable.Add(null);

            Console.WriteLine(testHashTable);
            Console.WriteLine();

            testHashTable.Remove(null);

            Console.WriteLine(testHashTable);
            Console.WriteLine();
        }