Перегрузка методов и определение типа переменных (int, double, string) - C#
Формулировка задачи:
Идея в том, чтобы определить, что ввел пользователь: тип double, integer или string, и сложить эти 2 переменные с помощью перегруженного метода.
Моя проблема в том, что я не могу получить xTrue и yTrue для выполнения задачи, т.к., как я понял, эти xTrue и yTrue создаются в if и там же остаются - не переходят в дальнейший кусок кода.
Возможно, я пытаюсь сделать это через *опу, но пока не знаю, как можно по-другому.
Подскажите пожалуйста решение моей задачи.. ну или хотя бы направление. Спасибо!
P.S. Извините, если это похоже на быдлокод. Я только учусь.
Листинг программы
- namespace ConsoleApplication6
- {
- class Program
- {
- static void Main(string[] args)
- {
- int yInt = 0; double yDouble = 0; string yString = "0";
- int xInt = 0; double xDouble = 0; string xString = "0";
- Console.Write("Enter any numbers of symbols: ");
- var x = Console.ReadLine();
- //КОНВЕРТИРУЮ x В ПОДХОДЯЩИЙ ТИП
- if (Int32.TryParse(x, out xInt))
- xInt = Convert.ToInt32(x);
- else if(Double.TryParse(x, out xDouble))
- xDouble = Convert.ToDouble(x);
- else
- xString = Convert.ToString(x);
- //КОНВЕРТИРУЮ x В ПОДХОДЯЩИЙ ТИП
- Console.Write("\nEnter any numbers of symbols again: ");
- var y = Console.ReadLine();
- //КОНВЕРТИРУЮ y В ПОДХОДЯЩИЙ ТИП
- if (Int32.TryParse(y, out xInt))
- yInt = Convert.ToInt32(y);
- else if (Double.TryParse(y, out xDouble))
- yDouble = Convert.ToDouble(y);
- else
- yString = Convert.ToString(y);
- //КОНВЕРТИРУЮ y В ПОДХОДЯЩИЙ ТИП
- if (xInt != 0)
- { int xTrue = xInt; }
- if (xDouble != 0)
- { double xTrue = xDouble; }
- if (xString != "0")
- { string xTrue = xString; }
- if (yInt != 0)
- { int yTrue = yInt; }
- if (yDouble != 0)
- { double yTrue = xDouble; }
- if (yString != "0")
- { string yTrue = yString; }
- Console.Write("\nResult: {0}", sum(xTrue, yTrue)); //Здесь компилятор пишет, что xTrue и yTrue не существуют.
- Console.ReadLine();
- }
- static int sum(int x, int y)
- { return x + y; }
- static string sum(string x, string y)
- { return x + y; }
- static double sum(double x, double y)
- { return x + y; }
- }
- }
Решение задачи: «Перегрузка методов и определение типа переменных (int, double, string)»
textual
Листинг программы
- if (Int32.TryParse(x, out xInt)) {}
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д