Оптимизация кода несложной задачи (Статистика всех введённых символов в строке) - 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()); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д