Introducción a los tipos de datos
2.1.1 Tipos de valor:
Estos son los
tipos de datos primitivos integrados, como char, int y float, así como también
los tipos definidos por el usuario declarados con la estructura.
2.1.2 Tipos de referencia:
Clases y otros tipos de datos complejos que se
construyen a partir de los tipos primitivos. Las variables de estos tipos no
contienen una instancia del tipo, sino sólo una referencia a una instancia.
Tipo de datos por valor:

2.2 Conversión entre tipos de
datos
Cuando C# tiene
que evaluar una expresión en la que intervienen operandos de diferentes tipos,
primero se convierte, sólo para realizar las operaciones solicitadas, los
valores de los operandos al tipo del operando cuya precisión sea más alta.
Cuando se trate de una asignación, convierte el valor de la derecha al tipo de
la variable de la izquierda siempre que no haya pérdida de información; de lo
contrario C# exige que la conversión se realice explícitamente. En la figura
siguiente se muestran los tipos de dato con signo, colocados de izquierda a
derecha, de menos a más precisos; las flechas indican las conversiones
implícitas permitidas:
2.2.1 Conversión implícita
Para que un tipo de datos sea asignado a una variable de un tipo de datos diferente, una conversión implícita se llevará a cabo de forma automática si:
- Los dos tipos de datos son compatibles.
- El tipo de datos de destino tiene un rango que es mayor que el tipo de datos origen.
Cuando estas dos condiciones son cumplidas, una conversión de ampliación se lleva a cabo. Por ejemplo, el tipo de datos int es siempre lo suficientemente grande para cualquier valor byte, y ambos int y byte son tipos enteros compatibles, por lo que una conversión puede ser aplicada.
Además de las restricciones descritas, no hay conversión implícita entre decimal y float o double, o desde los tipos de datos numéricos hacia char o bool. También, los tipos de datos char y bool no son compatibles entre sí.
2.2.2 Conversión Explícita
Convirtiendo datos incompatibles
Cuando la
conversión de datos no puede ser implícita, se necesita realizar un cast. Un
cast es una instrucción hacia el compilador para que convierta el resultado de
una expresión a un tipo de datos específico.
Así, se requiere un tipo de conversión explícito.
La forma
general de un cast es la siguiente:
Donde:
tipoDeDatosDestino: especifica el tipo de datos deseado para convertir la expresión especificada.
Por ejemplo, si se tiene:
double x, y;
Si desea que el tipo de la expresión x/y sea int, puede escribir:
(int) (x/y)
Cuando un cast involucra una conversión de estrechamiento, parte de la información puede ser perdida. Por ejemplo, cuando se convierte de long a int, parte de la información puede ser perdida si el valor de long es mayor que el rango de un int porque sus bits más significativos son eliminados. Cuando un valor de punto flotante es convertido a un tipo de datos int, el componente fraccional también será perdido debido al truncamiento.
A continuación un enlace para poder demostrar el uso de documentos compartidos en Google Drive.
tipoDeDatosDestino: especifica el tipo de datos deseado para convertir la expresión especificada.
Por ejemplo, si se tiene:
double x, y;
Si desea que el tipo de la expresión x/y sea int, puede escribir:
(int) (x/y)
Cuando un cast involucra una conversión de estrechamiento, parte de la información puede ser perdida. Por ejemplo, cuando se convierte de long a int, parte de la información puede ser perdida si el valor de long es mayor que el rango de un int porque sus bits más significativos son eliminados. Cuando un valor de punto flotante es convertido a un tipo de datos int, el componente fraccional también será perdido debido al truncamiento.
A continuación un enlace para poder demostrar el uso de documentos compartidos en Google Drive.




No hay comentarios:
Publicar un comentario