(Я попытался найти подобную проблему без удачи, поэтому я надеюсь, что, может быть, кто-то может предложить решение)
У меня есть время l oop в моем первом классе с целью зацикливания пока пользователь не введет значения футов, метров или ярдов следующим образом:
string convert = "";
do
{
Console.Clear();
Console.WriteLine("What conversion: Feet, Meters, Yards");
try
{
convert = Convert.ToString(Console.ReadLine());
}
catch (Exception)
{
Console.Clear();
Console.WriteLine("Incorrect conversion");
Console.ReadKey();
}
convert = Values.Input(convert);
Console.WriteLine(convert);
Console.ReadKey();
} while (_____); //Trying to loop while arguement is thrown from my other class
Console.WriteLine("Continue on");
Console.ReadLine();
Мои отдельные классы значений Метод ввода:
public static string Input(string input)
{
string convert = input;
if (convert == "Meters")
{
input = "Meters";
}
else if (convert == "Feet")
{
input = "Feet";
}
else if (convert == "Yards")
{
input = "Yards";
}
else
{
throw new System.ArgumentException("Incorrect conversion");
//Trying to loop my main program if an ArguementException is thrown here
}
return input;
}
Что я пытался:
} while (convert != "Meters" || convert != "Feet" || convert != "Yards");
Console.WriteLine("Continue on");
Console.ReadLine();
Я пытался заставить его продолжать цикл, пока конвертирование не является Метрами, Футами или Ярдами, но после получения аргумента я не могу продолжить программу.
Смогу ли я продолжить свое приложение после бросая это System.ArguementException и, если да, что бы я ввел в свой while l oop, чтобы разрешить это?