Я начинающий программист и пытаюсь создать базовую программу калькулятора. Калькулятор включает в себя циклы и TryParsing, потому что я хочу, чтобы программа записывала в консоль простое сообщение об ошибке, если пользователь решает ввести неправильный ввод.C# char/string Parsing issue
Все работает нормально, за исключением случаев, когда я пытаюсь создать переменную для Оператора.
В настоящее время я имею его как переменную char, названную: char arithmeticOperator;
Для ввода оператора части доступа пользователей, мой код это:
while (decision == false)
{
Console.Write("Choose an Operator (+ - * /) : ");
decision = char.TryParse(Console.ReadLine(), out arithmeticOperator);
if (decision == false)
{
Console.WriteLine("Not an Operator, try again...");
}
}
Это работает для number1 и Number2 переменные, не вопрос.
Но я получаю ошибку во время «если» заявление части ...
if (arithmeticOperator == '+')
{
Console.WriteLine(num1 + num2);
}
arithmeticOperator имеет красную волнистую линию под говоря «Использование неназначенную локальной переменной».
Я посмотрел на это и понял, что символ не может быть пустым, поэтому я дал определенное значение для тестирования; когда программа запускается, если я использую действительные арифметические операторы, программа работает так, как должна; если я использую что-либо еще, например, любой другой символ, программа перезагружается.
Я попытался использовать строку вместо этого, но вы не можете TryParse строку, и я не могу найти решение для строки.
Мне не нужна ошибка исключения, поэтому я избегал использования Parse for string. Я также хочу сообщить пользователю, вставили ли они неправильный ввод, выписав на консоль «Invalid Input, try again».
У меня есть 2 вопроса ...
Как я могу применить Char специально, чтобы использовать только арифметические операторы (+, -, *, /). Если введены какие-либо другие одиночные номера символов или текстовые буквы, он должен отображать текстовую ошибку в консоли.
Возможно ли это?Если у меня есть переменная с именем: string choice = "YES";
Как я могу использовать строку, чтобы, если пользователь вводит что-то другое, кроме «YES», для отображения ошибки на консоли без ошибки исключения?
Мне не нужно использовать оба символа и строку, но это было бы полезно знать в будущем. Надеюсь, это имело смысл, извините за столько информации.
You знаю C не C# не C++ не Objective C не C ...? Не добавляйте теги для разных языков! – Olaf
Простите, что не подумал. Больше не повторится. – YuriyKurri