Beispiel #1
0
        /// <summary>
        /// Get all characters and his count
        /// </summary>
        /// <param name="originalString">Input string value</param>
        /// <returns>Dictionary char word and count value</returns>
        // Сложный вариант реализации логики подсчёта символов (1.2, 1.5) (Вариант 2)
        public StringsLearnModel GetCharCount(string originalString)
        {
            // Инициализируем новый экземпляр класса модели
            StringsLearnModel slm = new StringsLearnModel();

            // Конвертируем в массив символов
            var charArray = originalString.ToCharArray();

            // Пробегаем циклом по всем элементам строки
            for (int i = 0; i < charArray.Length; i++)
            {
                // Если словарь == null или не содержит элемента с таким ключём и символ не пуст
                if (slm.CharacterDictionary == null || !slm.CharacterDictionary.ContainsKey(charArray[i]) && charArray[i] != ' ')
                {
                    // Добавляем значемие в словарь
                    slm.CharacterDictionary?.Add(charArray[i], 1);
                }
                // Иначе, если словарь содержит ключ
                else if (slm.CharacterDictionary.ContainsKey(charArray[i]))
                {
                    // Добавляем 1 к значению ключа
                    slm.CharacterDictionary[charArray[i]] += 1;
                }
            }
            // Возвращаем модель
            return(slm);
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            // Инициализируем модель данных и класс реализации методов
            StringsLearnModel slm             = new StringsLearnModel();
            CharCountMethod   charCountMethod = new CharCountMethod();

            // Вызываем и выводим лёгкий вариант реализации ------------------------
            slm.CharCount = charCountMethod.GetCount("Some string here!");
            Console.WriteLine($"Char count is: {slm.CharCount}\n\n");
            // ---------------------------------------------------------------------

            // Вызываем сложный вариант реализации ----------------------------
            slm = charCountMethod.GetCharCount("Some string here!");

            // Пробегаем по всем элементам словаря
            foreach (var item in slm.CharacterDictionary)
            {
                // Выводим в консоль сообщение со значениями
                Console.WriteLine($"Word '{item.Key}' contain(s) {item.Value} time(s)");
            }
            // ---------------------------------------------------------------
        }