私はC#で行った方法にいくつか問題があります。ユーザーがyとnを入力しないようにしようとしています。私が欲しいと思っているのはほとんど機能していますが、ユーザーはまだ複数の記号を入力することができ、その後は動作しません! charが複数のcharであるかどうかをチェックするにはどうすればよいですか?私はtryParseがそれを解決したと思った?ありがとう!Char tryParseは私が思ったように動かないのですか?
// Method to check if item is food or not
private void ReadIfFoodItem()
{
Console.Write("Enter if food item or not (y/n): ");
if (char.TryParse(Console.ReadLine(), out responseFoodItem))
{
if(Char.IsNumber(responseFoodItem))
{
Console.WriteLine(errorMessage);
ReadIfFoodItem();
}
else
{
// Set true or false to variable depending on the response
if ((responseFoodItem == 'y' || responseFoodItem == 'Y'))
{
foodItem = true;
selectedVATRate = 12; // Extra variable to store type of VAT
}
else if ((responseFoodItem == 'n' || responseFoodItem == 'N'))
{
foodItem = false;
selectedVATRate = 25; // Extra variable to store type of VAT
}
else
{
Console.WriteLine(errorMessage);
ReadIfFoodItem();
}
}
}
}
あなたは確かにたくさんのことを望んでいます! – leppie
あなたが1文字を入力するようにユーザを制限したいのであれば、単に 'Console.Read()'を使うことはできませんか? – annonymously
おそらく、私はC#の新機能だと付け加えるべきです。このソリューションは最高ではありません! :) –