2016-09-12 3 views
1

У меня есть простой вопрос об операторе switch. Я заметил, что это можно записать в двух форматах.Заявление о базовом коммутаторе

Мне просто интересно, какая разница, если таковая имеется, между ними, поскольку они дают тот же результат.

Первое существо следующим образом:

switch(day) 
{ 
    case 1: 
     dayWord = "Monday"; 
     break; 

    case 2: 
     dayWord = "Tuesday"; 
     break; 

    case 3: 
     dayWord = "wednesday"; 
     break; 

    case 4: 
     dayWord = "Thursday"; 
     break; 

    case 5: 
     dayWord = "Friday"; 
     break; 

    case 6: 
     dayWord = "Saturday"; 
     break; 

    case 7: 
     dayWord = "Sunday"; 
     break; 

    default: 
     dayWord = "Invalid Day"; 
     break; 
} 

Console.WriteLine("\nYour value of {0} is equivalent to {1}", day, dayWord); 

И второе существо:

case 1:   
Console.Write("Monday \n");   
break;   
    
case 2:   
Console.Write("Tuesday \n");   
break; 
+2

Первый присваивает «ответ» переменной dayWord. Затем вы можете делать с ним все, что хотите, например, печатать на экране, записывать в файл, переходить на другую функцию и т. Д. Второй просто печатает результат на экране. Эта разница может стать яснее, поскольку вы получите больше опыта. –

+0

Спасибо за ответ Джефф. Поэтому первый из них был бы лучшим форматом для использования? –

ответ

1

Первый пример:

переменную с именем dayWord используется для хранения строки.

пример:

Если значение равно day1 то строка "Monday" будет присвоено переменной dayWord. Окончательная строка печатает значения переменных day и dayWord с использованием функции Console.writeLine(), которая печатает значения обеих переменных на консоли и возвращает новую строку на консоли (\n).

Второй пример:

Непосредственно выводит строку на консоль без использования каких-либо имен переменных, чтобы сохранить его.

пример:

Когда day равна 2, функция Console.Write() выводит строку "Tuesday" на консоли и \n возвращает новую строку на консоль.

Разница:

Console.Write() записывает строку, переданную ему на экране и остается на одной и той же линии.

Console.WriteLine() записывает строку и возвращает курсор на новую строку на экране.

Метод 1: использует переменную для хранения имен дней недели, а затем печатает эту переменную.

Метод 2: Непосредственно печатает название дня без сохранения его в переменной.

Best Practice:

Если вам нужно будет повторно использовать строку (название дня) снова где-то в коде, метод 1 является лучшим способом сделать это.

+0

Большое спасибо за ваш ответ. Причина, по которой я спросил, это то, что я занимался практикой и основывался на вопросе, метод 1 - это то, что я создал, но когда я проверил ответ, у них был метод 2 ...Поэтому я просто задавался вопросом ... «Почему?» Еще раз спасибо за разъяснение. –

Смежные вопросы