En C#, podemos convertir valores entre int y string de varias formas, dependiendo del contexto y del nivel de control sobre los errores que necesitemos.
int a string
Para convertir un número entero (int) a una cadena de texto (string), se pueden usar los siguientes métodos:
ToString() (Forma recomendada)
int numero = 123;
string texto = numero.ToString();
Console.WriteLine(texto); // "123"
Convert.ToString()
int numero = 456;
string texto = Convert.ToString(numero);
Console.WriteLine(texto); // "456"
$"")
int numero = 789;
string texto = $"{numero}";
Console.WriteLine(texto); // "789"
string a int
Para convertir un string a int, hay varias formas según el control de errores deseado.
int.Parse() (Lanza excepción si la conversión falla)
string texto = "123";
int numero = int.Parse(texto);
Console.WriteLine(numero); // 123
⚠ Cuidado: Si texto no es un número válido, lanzará una excepción FormatException.
Convert.ToInt32() (Maneja null, pero lanza excepción en caso de formato inválido)
string texto = "456";
int numero = Convert.ToInt32(texto);
Console.WriteLine(numero); // 456
✔ Si texto es null, devolverá 0 en lugar de lanzar una excepción.
⚠ Si texto contiene caracteres no numéricos, lanzará FormatException.
int.TryParse() (Forma segura, evita excepciones)
string texto = "789";
if (int.TryParse(texto, out int numero))
{
Console.WriteLine(numero); // 789
}
else
{
Console.WriteLine("Conversión fallida.");
}
✔ Forma recomendada si el valor proviene de una fuente externa, ya que no lanza excepciones.
✔ Devuelve true si la conversión fue exitosa y asigna el valor convertido a numero.
int a string: Usa .ToString() o $"" para una conversión simple.
string a int: Usa int.Parse() si estás seguro del formato o int.TryParse() si necesitas evitar errores.
Jorge García
Fullstack developer