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