Detección de tipos de valor y tipos de referencia
- 8 minutos
Con muchos tipos de datos disponibles en C#, elegir el adecuado para usar significa que necesita comprender cuándo puede elegir un tipo de datos sobre otro.
Antes de analizar por qué puede elegir un tipo de datos sobre otro, debe comprender más sobre los tipos de datos. También debe saber cómo funcionan los datos y los tipos de datos en C# y .NET.
¿Qué son los datos?
Responder a la pregunta "qué son los datos" depende de a quién se lo pregunte y en qué contexto lo pregunte.
En el desarrollo de software, los datos son básicamente un valor que se almacena en la memoria del equipo como una serie de bits. Un bit es un conmutador binario simple representado como 0 o 1, o en su lugar, "off" y "on". Un solo bit no parece útil, pero cuando se combinan 8 bits en una secuencia, forman un byte. Cuando se usa en un byte, cada bit toma un significado en la secuencia. De hecho, puede representar 256 combinaciones diferentes con solo 8 bits si usa un sistema numérico binario (base-2).
Por ejemplo, en un sistema numérico binario, puede representar el número 195 como 11000011. La tabla siguiente le ayuda a visualizar cómo funciona esto. La primera fila tiene ocho columnas que corresponden a una posición en un byte. Cada posición representa un valor numérico diferente. La segunda fila puede almacenar el valor de un bit individual, ya sea 0 o 1.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
Si agrega el número de cada columna de la primera fila que corresponde a una 1 de la segunda fila, obtendrá el valor decimal equivalente a la representación del sistema numérico binario. En este caso, sería 128 + 64 + 2 + 1 = 195.
Para trabajar con valores más grandes más allá de 255, el equipo almacena más bytes (normalmente de 32 o 64 bits). Si está trabajando con millones de grandes números en un entorno científico, es posible que tenga que tener en cuenta con más cuidado los tipos de datos que está usando. El código podría requerir más memoria para ejecutarse.
¿Qué ocurre con los datos textuales?
Si un equipo solo entiende los valores 0 y 1, ¿cómo le permite trabajar con texto? Con un sistema como ASCII (American Standard Code for Information Interchange), puede usar un solo byte para representar letras mayúsculas y minúsculas, números, tabulaciones, retrocesos, nuevas líneas y muchos símbolos matemáticos.
Por ejemplo, si desea almacenar una letra a en minúsculas como un valor en mi aplicación, el equipo solo entendería la forma binaria de ese valor. Para comprender mejor cómo el equipo controla una letra a en minúsculas, necesito localizar una tabla ASCII que proporcione valores ASCII y sus equivalentes decimales. Puede buscar los términos "valor ASCII decimal" para encontrar este tipo de recurso en línea.
En este caso, la letra a minúscula es equivalente al valor 97decimal . A continuación, usaría el mismo sistema numérico binario inverso para encontrar cómo el equipo almacena una letra a ASCII.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
Como 64 + 32 + 1 = 97, el código ASCII binario de 8 bits para a es 01100001.
Es probable que nunca tenga que realizar estos tipos de conversiones por su cuenta, pero comprender la perspectiva de los datos del equipo es un concepto fundamental, especialmente cuando considere los tipos de datos.
¿Qué es un tipo de datos?
Un tipo de datos es una manera en que un lenguaje de programación define la cantidad de memoria que se va a ahorrar para un valor. Hay muchos tipos de datos en el lenguaje C# que se usarán para muchas aplicaciones y tamaños de datos diferentes.
Para la mayoría de las aplicaciones que desarrolle en su carrera profesional, utilizará un pequeño subconjunto de todos los tipos de datos disponibles. Sin embargo, sigue siendo vital saber que existen otros y por qué.
Tipos de valor versus tipos de referencia
Este módulo se centra en los dos tipos de tipos de C#: tipos de referencia y tipos de valor.
Las variables de tipos de referencia almacenan referencias a sus datos (objetos), es decir, apuntan a los valores de datos almacenados en otro lugar. En comparación, las variables de tipos de valor contienen directamente sus datos. A medida que obtenga más información sobre C#, surgen nuevos detalles relacionados con la diferencia fundamental entre los tipos de valor y de referencia.
Tipos de valor simples
Los tipos de valor simples son un conjunto de tipos predefinidos proporcionados por C# como palabras clave. Estas palabras clave son alias para los tipos predefinidos definidos en la biblioteca de clases de .NET. Por ejemplo, la palabra clave int de C# es un alias de un tipo de valor definido en la biblioteca de clases de .NET como System.Int32.
Los tipos de valor simples incluyen muchos de los tipos de datos que puede haber usado ya como char y bool. También hay muchos tipos de valor enteros y de punto flotante para representar una amplia gama de números enteros y fraccionarios.
Resumen
- Los valores se almacenan como bits, que son interruptores de encendido y apagado simples. Al combinar suficientes de estos interruptores te permite almacenar casi cualquier valor posible.
- Hay dos categorías básicas de tipos de datos: tipos de valor y referencia. La diferencia radica en cómo y dónde se almacenan los valores en el equipo cuando se ejecuta el programa.
- Los tipos de valor simples usan un alias de palabra clave para representar nombres formales de tipos en la biblioteca de .NET.
Comprueba tus conocimientos
Comentarios
¿Le ha resultado útil esta página?
No
¿Necesita ayuda con este tema?
¿Desea intentar usar Ask Learn para aclarar o guiarle a través de este tema?