[英]C# While TryParse
char typeClient = ' ';
bool clientValide = false;
while (!clientValide)
{
Console.WriteLine("\nEntrez le type d'employé (c ou g) : ");
clientValide = char.TryParse(Console.ReadLine(), out typeClient);
if (clientValide)
typeClient = 'c';
}
我想让它不会退出 while 除非字符是 'g' 或 'c' 帮助! :)
string input;
do {
Console.WriteLine("Entrez le type d'employé (c ou g):");
input = Console.ReadLine();
} while (input != "c" && input != "g");
char typeClient = input[0];
您是否使用Console.ReadLine
,用户必须在按c或g后按Enter 。 改用ReadKey
以便响应是即时的:
bool valid = false;
while (!valid)
{
Console.WriteLine("\nEntrez le type d'employé (c ou g) : ");
var key = Console.ReadKey();
switch (char.ToLower(key.KeyChar))
{
case 'c':
// your processing
valid = true;
break;
case 'g':
// your processing
valid = true;
break;
default:
Console.WriteLine("Invalid. Please try again.");
break;
}
}
你真的很接近,我认为这样的事情对你来说很有效:
char typeClient = ' ';
while (typeClient != 'c' && typeClient != 'g')
{
Console.WriteLine("\nEntrez le type d'employé (c ou g) : ");
var line = Console.ReadLine();
if (!string.IsNullOrEmpty(line)) { typeClient = line[0]; }
else { typeClient = ' '; }
}
基本上,当用户输入某些内容时,它会将输入读入typeClient
变量,因此循环将继续,直到他们输入g
或c
。
您可以将ConsoleKeyInfo
与Console.ReadKey()
:
ConsoleKeyInfo keyInfo;
do {
Console.WriteLine("\nEntrez le type d'employé (c ou g) : ");
keyInfo = Console.ReadKey();
} while (keyInfo.Key != ConsoleKey.C && keyInfo.Key != ConsoleKey.G);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.