C# - Tipos de datos
Las variables en C# se clasifican en los siguientes tipos −
- Tipos de valor
- Tipos de referencia
- Tipos de puntero
Tipo de valor
A las variables de tipo de valor se les puede asignar un valor directamente. Se derivan de la clase System.ValueType .
Los tipos de valor contienen datos directamente. Algunos ejemplos son int, char y float , que almacena números, alfabetos y números de punto flotante, respectivamente. Cuando declaras un int tipo, el sistema asigna memoria para almacenar el valor.
La siguiente tabla enumera los tipos de valores disponibles en C# 2010 −
Tipo | Representa | Rango | Valor predeterminado |
---|---|---|---|
bool | Valor booleano | Verdadero o Falso | Falso |
byte | Entero sin signo de 8 bits | 0 a 255 | 0 |
char | Carácter Unicode de 16 bits | U +0000 a U +ffff | '\0' |
decimal | Valores decimales precisos de 128 bits con 28-29 dígitos significativos | (-7,9 x 10 28 a 7,9 x 10 28 ) / 10 0 a 28 | 0.0M |
doble | tipo de punto flotante de precisión doble de 64 bits | (+/-)5,0 x 10 -324 a (+/-)1,7 x 10 308 | 0.0D |
flotante | Tipo de coma flotante de precisión simple de 32 bits | -3,4 x 10 38 a + 3,4 x 10 38 | 0.0F |
int | tipo entero con signo de 32 bits | -2147483648 a 2147483647 | 0 |
largo | tipo entero con signo de 64 bits | -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 | 0L |
sbyte | tipo entero con signo de 8 bits | -128 a 127 | 0 |
corto | tipo entero con signo de 16 bits | -32.768 a 32.767 | 0 |
uint | tipo entero sin signo de 32 bits | 0 a 4,294,967,295 | 0 |
ulong | tipo entero sin signo de 64 bits | 0 a 18 446 744 073 709 551 615 | 0 |
ushort | tipo entero sin signo de 16 bits | 0 a 65.535 | 0 |
Para obtener el tamaño exacto de un tipo o una variable en una plataforma en particular, puede usar sizeof método. La expresión tamaño(tipo) produce el tamaño de almacenamiento del objeto o tipo en bytes. El siguiente es un ejemplo para obtener el tamaño de int escribir en cualquier máquina −
Demostración en vivousing System; namespace DataTypeApplication { class Program { static void Main(string[] args) { Console.WriteLine("Size of int: {0}", sizeof(int)); Console.ReadLine(); } } }
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado −
Size of int: 4
Tipo de referencia
Los tipos de referencia no contienen los datos reales almacenados en una variable, pero contienen una referencia a las variables.
En otras palabras, se refieren a una ubicación de memoria. Usando múltiples variables, los tipos de referencia pueden referirse a una ubicación de memoria. Si una de las variables cambia los datos en la ubicación de la memoria, la otra variable refleja automáticamente este cambio de valor. Ejemplo de incorporado los tipos de referencia son:objeto , dinámico, y cadena .
Tipo de objeto
El tipo de objeto es la clase base definitiva para todos los tipos de datos en C# Common Type System (CTS). Object es un alias para la clase System.Object. A los tipos de objetos se les pueden asignar valores de cualquier otro tipo, tipos de valor, tipos de referencia, tipos predefinidos o definidos por el usuario. Sin embargo, antes de asignar valores, necesita conversión de tipos.
Cuando un tipo de valor se convierte en tipo de objeto, se denomina boxing y por otro lado, cuando un tipo de objeto se convierte en un tipo de valor, se llama unboxing .
object obj; obj = 100; // this is boxing
Tipo dinámico
Puede almacenar cualquier tipo de valor en la variable de tipo de datos dinámicos. La verificación de tipo para este tipo de variables se realiza en tiempo de ejecución.
La sintaxis para declarar un tipo dinámico es −
dynamic <variable_name> = value;
Por ejemplo,
dynamic d = 20;
Los tipos dinámicos son similares a los tipos de objeto, excepto que la verificación de tipo para las variables de tipo de objeto se realiza en tiempo de compilación, mientras que para las variables de tipo dinámico se realiza en tiempo de ejecución.
Tipo de cadena
El tipo de cadena le permite asignar cualquier valor de cadena a una variable. El tipo de cadena es un alias para la clase System.String. Se deriva del tipo de objeto. El valor de un tipo de cadena se puede asignar usando literales de cadena en dos formas:entrecomillado y @entrecomillado.
Por ejemplo,
String str = "Tutorials Point";
Un literal de cadena @quoted tiene el siguiente aspecto −
@"Tutorials Point";
Los tipos de referencia definidos por el usuario son:clase, interfaz o delegado. Discutiremos estos tipos en un capítulo posterior.
Tipo de puntero
Las variables de tipo puntero almacenan la dirección de memoria de otro tipo. Los punteros en C# tienen las mismas capacidades que los punteros en C o C++.
La sintaxis para declarar un tipo de puntero es −
type* identifier;
Por ejemplo,
char* cptr; int* iptr;
Discutiremos los tipos de punteros en el capítulo 'Códigos no seguros'.
Lenguaje C
- Los 4 tipos de unidades primarias ranuradas para sujetadores
- Diferentes rangos y tipos de termopares con comparación
- Variables de C# y tipos de datos (primitivos)
- Conversión de tipo C#
- Tipos de datos de C++
- Tipos de datos C
- Tipos de datos de Python
- Conversión de tipos de Python y conversión de tipos
- Tipos de datos Java (primitivos)
- Conversión de tipos de Java
- Tipo de datos Char de C++ con ejemplos