Форма оператора
while
такова:
while
(булевское^выражение) встроенный ^оператор
Наш пример с угадыванием чисел можно переписать с использованием
while,
чтобы игра продолжалась до тех пор, пока вы не угадаете число или не решите выйти:
using System;
class WhileApp
<
const int MIN = 1;
const int MAX = 10;
const string QUIT_CHAR = "Q";
public static void Main() {
Random rnd = new RandomQ; double correctNumber;
string inputString; int userGuess;
bool correctGuess = false; bool userQuit = false;
while (!correctGuess && !userQuit) {
correctNumber = rnd.NextDoubleQ * MAX;
correctNumber = Math.Round(correctNumber);
Console.Write
("Угадайте число от {0} до {1}...({2} - выход)",
MIN, MAX, QUIT_CHAR); inputString = Console. ReadLineO;
if (0 == string.Compare(inputString, QUIT_CHAR, true))
userQuit = true; else {
userGuess = inputString.Tolnt32();
correctGuess = (userGuess == correctNumber);
Console.WriteLine
("Правильное число {0}\п", correctNumber); } }
if (correctGuess && !userQuit) {
Console. КгШи.пе("Поздравляем!"); >
else {
Console.WriteLine("Может, в следующий раз повезет!"); } } }
При работе с этим приложением вы будете получать подобные результаты:
C:\>WhileApp
Угадайте число от 1 до 10...(Q - выход)3 Правильное число 5
Угадайте число от 1 до 10...(Q - выход)5 Правильное число 5
Поздравляем!
C:\>WhileApp
Угадайте число от 1 до 10...(О - выход)q
Может, в следующий раз повезет!