Tipos de Datos

Existen 2 grupos de datos los tipos de datos compuestos y los tipos de datos primitivos.

Tipos de Datos Primitivos

Son aquellos tipos de datos que están predefinidos por el lenguaje.

Nombre corto Clase .NET Tipo Ancho Intervalo (bits)
byte Byte Entero sin signo 8 0 a 255
sbyte SByte Entero con signo 8 -128 a 127
int Int32 Entero con signo 32 -2.147.483.648 a 2.147.483.647
uint UInt32 Entero sin signo 32 0 a 4294967295
short Int16 Entero con signo 16 -32.768 a 32.767
ushort UInt16 Entero sin signo 16 0 a 65535
long Int64 Entero con signo 64 -922337203685477508 a 922337203685477507
ulong UInt64 Entero sin signo 64 0 a 18446744073709551615
float Single Tipo de punto flotante de precisión simple32 -3,402823e38 a 3,402823e38
double Double Tipo de punto flotante de precisión doble 64 -1,79769313486232e308 a 1,79769313486232e308
char Char Un carácter Unicode 16 Símbolos Unicode utilizados en el texto
bool Boolean Tipo Boolean lógico 8 True o false
object Object Tipo base de todos los otros tipos
string String Una secuencia de caracteres
decimal Decimal Tipo preciso fraccionario o integral, que puede representar números decimales con 29 dígitos significativos 128 ±1.0 × 10e−28 a ±7.9 × 10e28

Tipos de Datos Compuestos

Son aquellos tipos de datos que están compuestos por 1 o mas datos tanto primitivos como compuestos, es decir, las clases que solemos crear para nuestras necesidades.

tipo_compuesto.cs
public class Persona {
   public int PersonaID { get; set; }
   public string Nombre { get; set; }
   public int Edad { get; set; }
   public decimal Altura { get; set; }
}

Variables

Son declaraciones de tipos de datos donde se valor puede cambiar.

variable.cs
//declaracion inicial con valor de 10
int edad = 10;
 
//asignacion de valor a 22
edad = 22;
 
//incremento de valor en 1
edad++;

Constantes

Son declaraciones de tipos de datos donde su valor se define desde la declaración, y este no cambia.

constantes.cs
public class Constantes {
   public const decimal PI = 3.141592;
}
 
/**** En otro fragmento de codigo ****/
 
//Error por querer cambiar el valor
Constantes.PI = 3.1416;

Enumeradores

Son agrupadores de constantes con nombres de firmas las cuales son identificables a simple vista.

enumeradores.cs
public enum Rol 
{
   Usuario = 1,
   Autorizador = 2,
   Administrador = 3
}
 
/**** En otro fragmento de codigo ****/
 
var rol = Rol.Autorizador;

Flag

Son enumeradores con un atributo especial que las hace poder ser utilizadas en operaciones BitWise.

enumeradores_flag.cs
[Flags]
public enum Permisos
{
   Lectura = 1,
   Escritura = 2,
   Asignacion = 4,
   Compartir = 8,
   Generar_Reporte = 16,
   Autorizar = 32
}
 
/**** Clase ****/
 
public class Empleado {
   public Permisos Permisos { get; set; }
}
 
 
/**** En otro fragmento de codigo ****/
 
var empleado = new Empleado() { Permisos = Permisos.Leer | Permisos.Escribir };
 
if (empleado == Permisos.Autorizar) {
   Console.WriteLine("El empleado puede autorizar");
} else {
   Console.WriteLine("El empleado no puede autorizar");
}