La clase Convert y el análisis
Analice y convierta valores con Convert y TryParse.
La clase Convert y el análisis es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 4 lecciones en total.
Convertir cadenas a números
La entrada del usuario llega como texto. Para operar con ella, debe convertir las cadenas en números. C# ofrece Convert, Parse y TryParse.
using System;
class Program
{
static void Main()
{
string input = "42";
int number = int.Parse(input);
Console.WriteLine(number + 8);
}
}int.Parse
int.Parse convierte una cadena numérica en un int. Produce una FormatException si el texto no es un número válido.
using System;
class Program
{
static void Main()
{
try
{
int n = int.Parse("abc");
Console.WriteLine(n);
}
catch (FormatException)
{
Console.WriteLine("Not a valid number");
}
}
}int.TryParse
int.TryParse evita las excepciones: devuelve true si tiene éxito y coloca el resultado en un parámetro out, o devuelve false si falla.
using System;
class Program
{
static void Main()
{
if (int.TryParse("123", out int n))
Console.WriteLine("Parsed: " + n);
else
Console.WriteLine("Failed");
}
}TryParse para una entrada segura
TryParse es la forma preferida de gestionar entradas que no son de confianza, porque el texto no válido se gestiona correctamente en lugar de provocar un fallo.
using System;
class Program
{
static void Main()
{
string[] inputs = { "10", "oops", "30" };
int total = 0;
foreach (var s in inputs)
{
if (int.TryParse(s, out int v))
total += v;
}
Console.WriteLine("Total of valid: " + total);
}
}La clase Convert
La clase Convert convierte entre muchos tipos básicos: Convert.ToInt32, Convert.ToDouble, Convert.ToBoolean, entre otros.
using System;
class Program
{
static void Main()
{
int i = Convert.ToInt32("256");
double d = Convert.ToDouble("3.14");
bool b = Convert.ToBoolean("true");
Console.WriteLine(i + ", " + d + ", " + b);
}
}Convert gestiona null
A diferencia de int.Parse, Convert.ToInt32(null) devuelve 0 en lugar de producir una excepción, lo que puede resultar práctico o sorprendente.
using System;
class Program
{
static void Main()
{
string s = null;
int n = Convert.ToInt32(s); // returns 0
Console.WriteLine("Result: " + n);
}
}Convertir entre tipos numéricos
Convert también convierte un tipo numérico en otro y redondea (no trunca) al convertir valores de coma flotante en enteros.
using System;
class Program
{
static void Main()
{
double d = 7.6;
int cast = (int)d; // truncates -> 7
int converted = Convert.ToInt32(d); // rounds -> 8
Console.WriteLine("cast=" + cast + ", convert=" + converted);
}
}Analizar otros tipos
La mayoría de los tipos integrados tienen sus propios métodos Parse/TryParse: double.TryParse, bool.TryParse, DateTime.TryParse, entre otros.
using System;
class Program
{
static void Main()
{
bool okD = double.TryParse("2.5", out double d);
bool okB = bool.TryParse("True", out bool flag);
Console.WriteLine(okD + ":" + d + ", " + okB + ":" + flag);
}
}ToString en sentido inverso
Para pasar de un número a texto, llame a ToString(), opcionalmente con una cadena de formato.
using System;
class Program
{
static void Main()
{
int n = 255;
double price = 12.5;
Console.WriteLine(n.ToString());
Console.WriteLine(price.ToString("C")); // currency format
}
}Elegir la herramienta adecuada
Use TryParse para entradas de usuario en las que no puede confiar, Parse cuando tenga la garantía de que la entrada es válida y Convert al gestionar valores null o convertir entre muchos tipos.
using System;
class Program
{
static void Main()
{
string userInput = "55x";
int value = int.TryParse(userInput, out int v) ? v : -1;
Console.WriteLine(value == -1 ? "Invalid input" : "Got " + value);
}
}Todo en conjunto
Un flujo de entrada sólido valida con TryParse, usa un valor predeterminado si falla y después realiza los cálculos de forma segura.
using System;
class Program
{
static int ReadAge(string input)
{
if (int.TryParse(input, out int age) && age >= 0)
return age;
return 0; // safe default
}
static void Main()
{
Console.WriteLine("Age: " + ReadAge("28"));
Console.WriteLine("Age: " + ReadAge("bad"));
}
}Comprobación rápida
Compruebe su comprensión del análisis y la conversión.
Resumen
Convierta texto en números con int.Parse (produce una excepción si la entrada no es válida), int.TryParse (es seguro y devuelve un booleano y un valor out) o la clase Convert (gestiona null, redondea valores de coma flotante y convierte muchos tipos). Prefiera TryParse para entradas que no sean de confianza y ToString() para la conversión inversa.
using System;
class Program
{
static void Main()
{
if (int.TryParse("99", out int n))
Console.WriteLine("Value: " + n);
Console.WriteLine("Convert: " + Convert.ToInt32("7"));
}
}Aprende C# con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 93
- Lecciones
- 346
Preguntas frecuentes
¿La lección «La clase Convert y el análisis» es gratis?
Sí — el texto completo de «La clase Convert y el análisis» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 4 lecciones en total.
¿Qué aprenderé en «La clase Convert y el análisis»?
Analice y convierta valores con Convert y TryParse. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C# Academy?
No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «La clase Convert y el análisis»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C# Academy?
Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Tipos de valor frente a tipos de referencia
- Boxing y unboxing
- Conversiones implícitas y explícitas
- La clase Convert y el análisis