Я довольно новичок в C# и пишу просто консольное приложение как практику. Я хочу, чтобы приложение задавало вопрос, и только переход к следующему фрагменту кода, когда пользовательский ввод равен 'y' или 'n'. Вот что я до сих пор.C# loop до Console.ReadLine = 'y' или 'n'
static void Main(string[] args)
{
string userInput;
do
{
Console.WriteLine("Type something: ");
userInput = Console.ReadLine();
} while (string.IsNullOrEmpty(userInput));
Console.WriteLine("You typed " + userInput);
Console.ReadLine();
string wantCount;
do
{
Console.WriteLine("Do you want me to count the characters present? Yes (y) or No (n): ");
wantCount = Console.ReadLine();
string wantCountLower = wantCount.ToLower();
} while ((wantCountLower != 'y') || (wantCountLower != 'n'));
}
У меня возникли проблемы с string wantCount;
года. То, что я хочу сделать, - спросить пользователя, хотят ли они подсчитать символы в своей строке и задать этот вопрос до тех пор, пока не будет введен ни «y», ни «n» (без кавычек).
Обратите внимание, что я также хочу использовать верхний/нижний регистр, поэтому я хочу, чтобы преобразовать строку wantCount в нижнюю часть - я знаю, что как у меня в настоящее время это не будет работать, поскольку я устанавливаю string wantCountLower
внутри цикл, поэтому я не могу ссылаться за пределами цикла в предложении while
.
Можете ли вы помочь мне понять, как я могу достичь этой логики?
'wantCountLower' определяется внутри области do-while, поэтому он недоступен снаружи. Вы должны определить его перед циклом (или, лучше, используйте сравнение без учета регистра). – Luaan
Я думаю, вам нужно правильно прочитать, как работает синтаксис while – Takarii
'' y'' является обозначением для символа, который вам нужен '' y "' для проверки строки. – prof1990