Определение типа введенных данных (символ, число)
Есть такая задача: пользователь вводит любую цифру/строку, а программа должна определить какой это тип данных (например 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