====== 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 simple|32 -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. 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. //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. 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. 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. [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"); }