Вы можете попробовать такую вещь, в зависимости от того, что вы хотите делать с введенными количествами, поэтому я помещаю что-то для образца:
bool isValid;
do
{
Console.Write("Enter an item number between 1 and 4 or -1 to end: ");
int.TryParse(Console.ReadLine(), out intItem);
if ( intItem == -1 ) break;
if ( intItem < 1 || intItem > 4 )
{
Console.WriteLine("Invalid entry: try again, please.");
continue;
}
dblItemSales++;
do
{
Console.Write("Enter the quantity sold: ");
isValid = int.TryParse(Console.ReadLine(), out intQuantity) && intQuantity >= 0;
if ( !isValid )
Console.WriteLine("Invalid entry: try again, please.");
}
while ( !isValid );
dblTotalSales += intQuantity;
}
while ( true );
Console.WriteLine($"Sales person {salesPerson} sold a total of {dblTotalSales}" +
$" for {dblItemSales} items");
Console.WriteLine("Press Enter to Continue.");
Мы используем TryParse
, чтобы убедиться, что в противном случае введено число равно 0, и метод возвращается false.