Conversión de tipo C#
Conversión de tipo C#
En este tutorial, aprenderemos sobre la conversión de tipos de C# y sus tipos con la ayuda de ejemplos.
El proceso de convertir el valor de un tipo (int, float, double, etc.) a otro tipo se conoce como conversión de tipos.
En C#, existen dos tipos básicos de conversión de tipo:
- Conversiones de tipo implícitas
- Conversiones de tipos explícitos
1. Conversión de tipos implícita en C#
En la conversión de tipos implícita, el compilador de C# convierte automáticamente un tipo en otro.
Generalmente, tipos más pequeños como int
(que tienen menos tamaño de memoria) se convierten automáticamente a tipos más grandes como double
(que tiene un tamaño de memoria más grande).
Ejemplo:conversión de tipo implícita
using System;
namespace MyApplication {
class Program {
static void Main(string[] args) {
int numInt = 500;
// get type of numInt
Type n = numInt.GetType();
// Implicit Conversion
double numDouble = numInt;
// get type of numDouble
Type n1 = numDouble.GetType();
// Value before conversion
Console.WriteLine("numInt value: "+numInt);
Console.WriteLine("numInt Type: " + n);
// Value after conversion
Console.WriteLine("numDouble value: "+numDouble);
Console.WriteLine("numDouble Type: " + n1);
Console.ReadLine();
}
}
}
Salida
numInt value: 500 numInt Type: System.Int32 numDouble value: 500 numDouble Type: System.Double
En el ejemplo anterior, hemos creado un int
escriba la variable llamada numInt .
Fíjate en la línea,
// Implicit Conversion
double numDouble = numInt;
Aquí, estamos asignando el int
escriba la variable a un double
variable tipo. En este caso, el compilador de C# convierte automáticamente el int
escriba valor a double
.
Note que hemos usado el GetType()
método para verificar el tipo de numInt
y numDouble
variables.
Nota :en la conversión implícita de tipos, los tipos más pequeños se convierten en tipos más grandes. Por lo tanto, no hay pérdida de datos durante la conversión.
2. Conversión de tipo explícito de C#
En la conversión de tipo explícita, convertimos explícitamente un tipo a otro.
Generalmente, tipos más grandes como double
(que tienen un tamaño de memoria grande) se convierten en tipos más pequeños como int
(que tiene un tamaño de memoria pequeño).
Ejemplo:conversión de tipo explícita
using System;
namespace MyApplication {
class Program {
static void Main(string[] args) {
double numDouble = 1.23;
// Explicit casting
int numInt = (int) numDouble;
// Value before conversion
Console.WriteLine("Original double Value: "+numDouble);
// Value before conversion
Console.WriteLine("Converted int Value: "+numInt);
Console.ReadLine();
}
}
}
Salida
Original double value: 1.23 Converted int value: 1
En el ejemplo anterior, hemos creado un double
variable llamada numDouble . Fíjate en la línea,
// Explicit casting
int numInt = (int) numDouble;
Aquí, (int)
es una expresión cast que convierte explícitamente el double
escribe hasta int
tipo.
Podemos ver que el valor original es 1.23 mientras que el valor convertido es 1 . Aquí, algunos datos se pierden durante la conversión de tipo. Esto se debe a que estamos convirtiendo explícitamente el tipo de datos más grande double
a un tipo más pequeño int
.
Nota :La conversión de tipo explícita también se denomina conversión de tipo.
Conversión de tipo C# usando Parse()
En C#, también podemos usar el Parse()
método para realizar la conversión de tipos.
Generalmente, al realizar una conversión de tipo entre tipos no compatibles como int
y string
, usamos Parse()
.
Ejemplo:Conversión de tipos usando Parse()
using System;
namespace Conversion {
class Program {
static void Main(string[] args) {
string n = "100";
// converting string to int type
int a = int.Parse(n);
Console.WriteLine("Original string value: "+n);
Console.WriteLine("Converted int value: "+a);
Console.ReadLine();
}
}
}
Salida
Original string value: 100 Converted int value: 100
En el ejemplo anterior, hemos convertido un string
escriba a un int
tipo.
// converting string to int type
int a = int.Parse(n);
Aquí, el Parse()
método convierte la cadena numérica 100 a un valor entero.
Nota :No podemos usar Parse()
para convertir una cadena de texto como "prueba" en un int
. Por ejemplo,
String str = "test";
int a = int.Parse(str); // Error Code
Conversión de tipo C# usando Convert Class
En C#, podemos usar el Convert
class para realizar la conversión de tipos. El Convert
class proporciona varios métodos para convertir un tipo a otro.
Método | Descripción |
ToBoolean() | convierte un tipo a un Boolean valor |
ToChar() | convierte un tipo a un char tipo |
ToDouble() | convierte un tipo a un double tipo |
ToInt16() | convierte un tipo a un int de 16 bits tipo |
ToString() | convierte un tipo a un string |
Veamos algunos ejemplos:
Ejemplo:Convertir int a Cadena y Doble
using System;
using System;
namespace Conversion {
class Program {
static void Main(string[] args) {
// create int variable
int num = 100;
Console.WriteLine("int value: " + num);
// convert int to string
string str = Convert.ToString(num);
Console.WriteLine("string value: " + str);
// convert int to Double
Double doubleNum = Convert.ToDouble(num);
Console.WriteLine("Double value: " + doubleNum);
Console.ReadLine();
}
}
}
Salida
int value: 100 string value: 100 Double value: 100
En el ejemplo anterior,
- Convertir.ToString(a) - convierte un
int
escriba numero astring
- Convertir.ToDouble(a) - convierte num al
Double
escribir
Ejemplo:Convertir cadena a Doble y viceversa
using System;
namespace Conversion {
class Program {
static void Main(string[] args) {
// create string variable
string str = "99.99";
Console.WriteLine("Original string value: " + str);
// convert string to double
Double newDouble = Convert.ToDouble(str);
Console.WriteLine("Converted Double value: " + newDouble);
// create double variable
double num = 88.9;
Console.WriteLine("Original double value: " + num);
// converting double to string
string newString = Convert.ToString(num);
Console.WriteLine("Converted string value: " + newString);
Console.ReadLine();
}
}
}
Salida
Original string value: 99.99 Converted Double value: 99.99 Original double value: 88.9 Converted string value: 88.9
En el ejemplo anterior,
- Convertir.ToDouble(str) - convierte un
string
escribe cadena aDouble
- Convertir.ToString(num) - convierte un
double
escriba numero alstring
Ejemplo 3:Convertir int a booleano
using System;
namespace Conversion {
class Program {
static void Main(string[] args) {
// create int variables
int num1 = 0;
int num2 = 1;
// convert int to Boolean
Boolean bool1 = Convert.ToBoolean(num1);
Boolean bool2 = Convert.ToBoolean(num2);
Console.WriteLine("Boolean value of 0 is: " + bool1);
Console.WriteLine("Boolean value of 1 is: " + bool2);
Console.ReadLine();
}
}
}
Salida
Boolean value of 0 is: False Boolean value of 1 is: True
En el ejemplo anterior, hemos creado dos variables enteras:num1
y num2
con valores 0 y 1 respectivamente. Aquí,
- Convertir.ToBoolean(num1) - convierte 0 a un
Boolean
valorFalse
- Convertir.ToBoolean(num2) - convierte 1 a un
Boolean
valorTrue
Nota :en C#, el valor entero 0 se considera False
y todos los demás valores se consideran True
.
Lenguaje C
- Conversión de tipos de Python y conversión de tipos
- Números de Python, conversión de tipos y matemáticas
- Conversión de tipos de Java
- Java - Genéricos
- ASTM A1018 Grado CS Tipo B
- ASTM A424 Grado Tipo II
- ASTM A424 Grado Tipo I
- ASTM A792 Grado CS Tipo A
- ASTM A53 Grado A Tipo E
- ASTM A53 Grado A Tipo S
- ASTM A792 Grado CS Tipo C