Оптимизация кода несложной задачи (Статистика всех введённых символов в строке) - C#

Узнай цену своей работы

Формулировка задачи:

Решение задачки(статистика всех введённых символов в строке) мне кажется слишком громоздким и просто деревянным, можно ли как то его оптимизировать и не использовать такое количество переменных.
class Program   
    {
        static string Str(string str)
        {
 
            str = Console.ReadLine();
            string str2 = string.Empty;
            string str3 = string.Empty;
            string str4 = string.Empty;
            string str5 = string.Empty;
            string str6 = string.Empty;
            string str7 = string.Empty;
            foreach (char ch in str.ToCharArray())
            {
                if (char.IsDigit(ch))
                {
                    str2 += ch.ToString();
                }
                if (char.IsLetter(ch))
                {
                    str3 += ch.ToString();
                }
                if (char.IsWhiteSpace(ch))
                {
                    {
                        str5 += ch.ToString();
                    }
                }
                if (char.IsPunctuation(ch))
 
                    str4 += ch.ToString();
 
                if (char.IsUpper(ch))
                {
                    str6 += ch.ToString();
                }
                if (char.IsLower(ch))
                {
                    str7 += ch.ToString();
                }
            }
 
            Console.WriteLine("\nsymbols\t: " + str.Length + "\ndigits\t: " + str2.Length + "\nletters\t: " + str3.Length +
                "\nPunct\t: " + str4.Length + "\nSpases\t: " + str5.Length + "\nUpper\t: " + str6.Length
                + "\nLower\t: " + str7.Length);
            
            return str;
        }
 
       static void Print(string str)
        {
            Console.WriteLine(str);
        }
        static void Main(string[] args)
        {
            string str1=string.Empty;
            Str(str1);
            //Print(str1);
        }
    }

Решение задачи: «Оптимизация кода несложной задачи (Статистика всех введённых символов в строке)»

textual
Листинг программы
class Program
    {
        static void Main(string[] args)
        {
            printStringInfo(Console.ReadLine());
            Console.ReadKey();
        }
 
        static void printStringInfo(string str)
        {
            Console.WriteLine("symbols\t: " + str.Length);
            Console.WriteLine("digits\t: " + str.Where(mc => char.IsDigit(mc)).Count());
            Console.WriteLine("letters\t: " + str.Where(mc => char.IsLetter(mc)).Count());
            Console.WriteLine("puncts\t: " + str.Where(mc => char.IsPunctuation(mc)).Count());
            Console.WriteLine("spases\t: " + str.Where(mc => char.IsWhiteSpace(mc)).Count());
            Console.WriteLine("uppers\t: " + str.Where(mc => char.IsUpper(mc)).Count());
            Console.WriteLine("lowers\t: " + str.Where(mc => char.IsLower(mc)).Count());
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.333 из 5
Похожие ответы