Определение типа введенных данных (символ, число)

Есть такая задача: пользователь вводит любую цифру/строку, а программа должна определить какой это тип данных (например int или double) и вывести это пользователю. Как это вывести в метод Main способом "перегрузка методов"?

using System;
using System.Globalization;

namespace HelloWorld
{
    class Program
    {

        public static void WriteNumer(int a)
        {
            Console.WriteLine("This is int");
            Console.WriteLine(a);
        }

        public static void WriteNumber(double b)
        {
            Console.WriteLine("This is double");
            Console.WriteLine(b);
        }

        public static void WriteNumber(string c)
        {
            Console.WriteLine("This is string");
            Console.WriteLine(c);
        }

        public static void Main(String[] args)
        {
            Console.WriteLine("Write a number: ");
            string a = Console.ReadLine();
            if (WriteNumber == a)
        }
    }
}

Ответы (1 шт):

Автор решения: Carbonex

Перегрузка методов подразумевает собой, что методы имеют разную сигнатуру, в которой совпадает только название метода. Но для вашей задачи подойдет:

Код программы:

Console.Write("Write a number: ");
string a = Console.ReadLine();
if (int.TryParse(a, out var number1) == true) {
   Console.WriteLine($"{number1} является числом int");
} else if (double.TryParse(a, out var number2) == true){
   Console.WriteLine($"{number2} является числом double");
}
else Console.WriteLine($"{a} является строкой");

Результат:

Write a number: 4
4 является числом int
Write a number: 4ddwa
4 является строкой
Write a number: 4,33
4 является числом double
→ Ссылка