Я учу себя C#, и один из текущих глав вызывает запрос пользователю указать строку, записать строку, подсчитать количество символов, экземпляры буквы e 'и, наконец, примеры всех гласных. Это дало подсказку использовать switch
, но я не мог понять, как это сделать. Я сделал это, чтобы работать, делая это вручную, но я не думаю, что в этом дело. :) Как я могу использовать оператор switch
, чтобы уменьшить количество типизированных строк?Сокращение строк кода с помощью оператора switch
Console.WriteLine("Please type a sentence and hit enter: ");
string myString = Console.ReadLine();
int letterCount = myString.Split('e').Length - 1;
Console.Clear();
Console.WriteLine("Thank you. The sentence you entered was: \n\"{0}\"", myString);
Console.WriteLine("This sentence is {0} characters long.", myString.Length);
Console.WriteLine("It contains {0} instances of the letter \'e\'.", letterCount);
int vowelCount = 0;
int letterALower = myString.Split('a').Length - 1;
vowelCount += letterALower;
int letterELower = myString.Split('e').Length - 1;
vowelCount += letterELower;
int letterILower = myString.Split('i').Length - 1;
vowelCount += letterILower;
int letterOLower = myString.Split('o').Length - 1;
vowelCount += letterOLower;
int letterULower = myString.Split('u').Length - 1;
vowelCount += letterULower;
int letterAUpper = myString.Split('A').Length - 1;
vowelCount += letterAUpper;
int letterEUpper = myString.Split('E').Length - 1;
vowelCount += letterEUpper;
int letterIUpper = myString.Split('I').Length - 1;
vowelCount += letterIUpper;
int letterOUpper = myString.Split('O').Length - 1;
vowelCount += letterOUpper;
int letterUUpper = myString.Split('U').Length - 1;
vowelCount += letterUUpper;
Console.WriteLine("There are {0} vowels used.", vowelCount);
Console.ReadLine();
[C# Switch - MSDN] (http://msdn.microsoft.com/en-us/library/06tc147t (v = vs.80) .aspx) все, что нужно знать для этой проблемы. Также посмотрите на [циклы] (http://msdn.microsoft.com/en-us/library/32dbftby) – mawburn
Спасибо, но я просмотрел эту страницу, и это не имело смысла в связи с этой проблемой. http://msdn.microsoft.com/en-us/library/06tc147t(v=vs.71).aspx – Trido