Cómo verificar si una cadena es un número en C# (análogo a IsNumeric)
¡Hola, colegas! Soy un desarrollador principiante de C# y me he encontrado con una tarea típica: necesito verificar que la cadena ingresada por el usuario contenga un número y no basura. Por ejemplo, el usuario ingresa su edad en un campo de texto, y antes de guardarlo en un int, quiero asegurarme de que no sea "veinte" o "abc123".
He intentado usar Convert.ToInt32() dentro de try-catch, pero parece engorroso y, según creo, no muy eficiente. Además, necesito distinguir entre números enteros y números de punto flotante. ¿Hay en C# un análogo incorporado de la función IsNumeric de VB.NET o alguna forma elegante de hacer esto?
Así es como estoy intentando resolver el problema actualmente:
string userInput = "123.45";
try
{
int number = Convert.ToInt32(userInput);
Console.WriteLine("Es un número entero");
}
catch (FormatException)
{
// Intento verificar si es double
try
{
double doubleNumber = Convert.ToDouble(userInput);
Console.WriteLine("Es un nú