martes, 12 de enero de 2016

Uso de tipos por valor y sus alias en C#

Enseguida el código con comentarios para explicar el tema.

using System;

namespace UsoDeTiposPorValorYAlias
{
    class Program
    {
        static void Main(string[] args)
        {
            // Primero creamos una una variable, usando la forma de alias
            // es decir usando la palabra clave "int"
            // para almacenar un tipo por valor, sin asignarle uno.
            //
            // En la segunda declaración definimos una variable usando
            // "new", aquí hay una asignación de valor por omisión. A diferencia
            // de la declaración anterior
            int unIntSinAsignar;
            int otroIntUsaNew = new int();

            // Creamos una variable para almacenar un tipo por valor .NET
            // este tipo es la version .NET del uso de alias "int"
            // observe el uso de la palabra clave "new", estamos creando
            // un objeto desde la clase System.Int32
            System.Int32 ahoraUnInt32 = new System.Int32();

            // Esta instuccion debera ser comentada porque Visual Studio
            // nos muestra un error al intentar usar una variable sin asignar
            // Esto previene de intentos de uso inadecuado donde
            // solo se ha apartado memoria y no se ha asignado valor.
            Console.WriteLine(unIntSinAsignar);

            // Ahora imprimimos el valor por omisión asignado a una variable
            // que no tiene un valor asignado previamente, pero en la
            // que se uso la palabra clave "new" en la declaración.
            Console.WriteLine(otroIntUsaNew);

            // Esta declaración trabaja bien e imprime
            // el valor por omisión (default)para el tipo por valor
            Console.WriteLine(ahoraUnInt32);

        }
    }
}

Un aspecto básico que debe conocerse es el que C# maneja los tipos por valor en localidades de memoria que se conoce como el stack .

También existe otra esquema de administración de memoria que es utilizado para los tipos por referencia, que es utilizado por el motor del CLR y que se le llama heap.





No hay comentarios.:

Publicar un comentario