Saltar al Contenido | Saltar al Menú de Navegación

[ExoTutorial] Primeros Pasos en C#: Tipos de Valor

Publicado por Abraham Chacón el 14 de enero de 2011
Ver Respuestas
e5d7c473a1cee7cdcb481eeb19fd0ebeb408fb55
Después de dar el clásico ejemplo introductorio al lenguaje C#, es tiempo de empezar por lo básico de lo básico.

En esta serie Primeros Pasos en C#, me enfocaré más en .NET Framework que en otras plataformas de desarrollo, aunque claro, también les daré su respectivo espacio y en algunas entradas hablaré enteramente sobre ellas.

Inviten a su novia, su abuelo, abuela, tíos y primos, porque Primeros Pasos en C# está a punto de empezar.

Fundamentos de C# y .NET Framework

Como ya había aclarado antes, .NET Framework es un componente de Windows el cual, como su nombre lo indica, es una plataforma de desarrollo muy completa especialmente hecha para la programación orientada a objetos y C# es un lenguaje muy parecido a C++ y a Java que puede ser usado en cualquier sistema operativo siempre y cuando la plataforma de desarrollo sea compatible.
Dentro de este primer capítulo, los puntos que se tratarán serán:
  • Tipos de valores
  • Declaración de variables
  • Elegir el tipo de valor más eficiente [Best-Practices]

Tipos de valores numéricos

Los valores predefinidos en .NET Framework no son muy diferentes de cualquier otro lenguaje o framework. Los hay de diferentes nombres, tamaños, colores y sabores.
Tipo/C# Alias
Bytes
Rango
Usado para
System.SByte / sbyte 1 -128 a 127 Valores pequeños con signo
System.Byte / byte 1 0 a 255 Valores pequeños sin signo
System.Int16 / short 2 -32,768 a 32,767 Operaciones internas y otros casos especiales
System.Int32 / int 4 -2,147,483,648 a 2,147,483,647 La mayoría de los contadores y números en general
System.UInt32 / uint 4 0 a 4294967295 Lo mismo que Int32 pero sólo positivos
System.Int64 / long 8 -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 Cantidades muy grandes
System.Single / float 4 -3.402823E+38 a 3.402823E+38 Números con punto decimal
System.Double
/ double
8 -179,769,313,486,232E+308 a 179,769,313,486,232E+308 Números con punto decimal más exactos
System.Decimal
/ decimal
16 -79,228,162,514,264,337,593,543,950,335 a 79,228,162,514,264,337,593,543,950,335 Cálculos científicos o financieros que requieren precisión.
Estos tipos numéricos son usados frecuentemente en C#. Usar los “alias” es lo mismo que usar el tipo de nombre completo; muchos programadores usan los nombres cortos por cuestiones de agilización.
Best Practices – Optimizando el rendimiento con los tipos numéricos
.NET Framework optimiza el rendimiento de los tipos enteros de 32-bit, así que es recomendable usarlos para contadores y otras variables enteras que puedan ser frecuentemente accedidas. Para las operaciones con punto decimal, Double es el tipo más efectivo debido a que dichas operaciones están optimizadas por el hardware.
-

Otros Tipos de Valor

Tipo/C# Alias
Bytes
Rango
Usado para
System.Char / char
2
N/A
Caracter Unicode
System.Boolean / bool
4
N/A
Valores Verdadero/Falso
System.IntPtr / (Ninguno)
Dependiente de la plataforma
N/A
Puntero a una dirección en memoria
System.DateTime / date
8
1/1/0001 12:00:00 AM a 12/31/9999 11:59:59 PM
Momentos en el tiempo
Existen más de 300 tipos de valores en .NET, pero los mostrados aquí son el pan de cada día. Como nota, cuando se asignan valores entre las variables de tipo de valor, los datos son copiados de una variable a otra y guardada en dos diferentes lugares en la pila. Ya hablaré más de eso en otra entrada.
Aún cuando los tipo de valor representan valores simples, su función sigue siendo la de un objeto. En otras palabras, se pueden llamar métodos en ellos. De hecho, es común (y necesario) usar el método ToString cuando se quieran mostrar valores numéricos como texto.
NOTA: En .NET Framework, todos los tipos se derivan de System.Object, por lo tanto heredan métodos como ToString.
-

Declaración de Tipos de Valor

Para usar un tipo, primero que nada se debe declarar el identificador seguido del nombre de la variable. Los tipo de valor tienen un constructor implícito, así que declararlos automáticamente instancia el tipo.
  • int Numero; //Int32
  • float NumeroDecimal; //Single
  • bool Flag; //Boolean
  • char Letra; //Char
C# es muy delicadito en cuanto al uso de mayúsculas y minúsculas en los nombres de las variables, por lo que la variable numero no es igual a Numero.
Si lo que quieres es determinar cuando un valor no ha sido asignado, declara la variable como nula (null). Por ejemplo, si deseas guardar una respuesta a una pregunta de sí/no en un formulario y el usuario no respondió la pregunta, deberías inicializarla como nula (null).
  • Nullable<bool> b = null;
También puede usarse la inicialización corta.
  • bool? b = null;
NOTA: El tipo Nullable es nuevo en .NET 2.0
Una de las razones por la cual se debe inicializar una variable como nula (aparte de evitarnos maniobrar con excepciones), es la posibilidad de usar los miembros HasValue y Value. Úsalos cuando desees detectar si una variable tiene un valor o no.
Hasta aquí el primer capítulo de Primeros Pasos en C#. En esta entrada se aprendieron cosas básicas sobre los tipos de valor, su declaración y la mejor forma de usarlos. Esperen más de esta serie :) .

Respuestas a "[ExoTutorial] Primeros Pasos en C#: Tipos de Valor"