Cursos
Módulo
Conversión de tipos de datos mediante técnicas de conversión y conversión en C# - Training
Explore el uso de técnicas de C# para conversiones y conversiones.
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para determinar si una cadena es una representación válida de un tipo numérico especificado, use el método estático TryParse
implementado por todos los tipos numéricos primitivos y también por tipos como DateTime y IPAddress. En el ejemplo siguiente se muestra cómo determinar si "108" es un valor int válido.
int i = 0;
string s = "108";
bool result = int.TryParse(s, out i); //i now = 108
Si la cadena contiene caracteres no numéricos o el valor numérico es demasiado grande o demasiado pequeño para el tipo determinado que ha especificado, TryParse
devuelve el valor false y establece el parámetro out en cero. De lo contrario, devuelve el valor true y establece el parámetro out en el valor numérico de la cadena.
Nota
Una cadena puede contener solamente caracteres numéricos pero no ser válida para el tipo cuyo método TryParse
se está usando. Por ejemplo, "256" no es un valor válido para byte
pero sí para int
. "98,6" no es un valor válido para int
pero sí para decimal
.
En los ejemplos siguientes se muestra cómo usar TryParse
con representaciones de cadena de los valores long
, byte
y decimal
.
string numString = "1287543"; //"1287543.0" will return false for a long
long number1 = 0;
bool canConvert = long.TryParse(numString, out number1);
if (canConvert == true)
Console.WriteLine($"number1 now = {number1}");
else
Console.WriteLine("numString is not a valid long");
byte number2 = 0;
numString = "255"; // A value of 256 will return false
canConvert = byte.TryParse(numString, out number2);
if (canConvert == true)
Console.WriteLine($"number2 now = {number2}");
else
Console.WriteLine("numString is not a valid byte");
decimal number3 = 0;
numString = "27.3"; //"27" is also a valid decimal
canConvert = decimal.TryParse(numString, out number3);
if (canConvert == true)
Console.WriteLine($"number3 now = {number3}");
else
Console.WriteLine("number3 is not a valid decimal");
Los tipos numéricos primitivos también implementan el método estático Parse
, que produce una excepción si la cadena no es un número válido. TryParse
es, en general, más eficaz porque simplemente devuelve false si el número no es válido.
Use siempre los métodos TryParse
o Parse
para validar los datos proporcionados por el usuario en controles como cuadros de texto y cuadros combinados.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Cursos
Módulo
Conversión de tipos de datos mediante técnicas de conversión y conversión en C# - Training
Explore el uso de técnicas de C# para conversiones y conversiones.