AOWS

Just another adrian’s weblog

Boxing y Unboxing en C#

with 2 comments

El boxing es un tipo de conversión utilizada para convertir un tipo valor en un tipo objeto. De igual forma, el convertir un objeto que contenga un tipo valor al tipo valor original se denomina unboxing.

Ambos son un concepto esencial en el sistema de tipos de C#, permitiendo una vista uniforme de dicho sistema pudiendo tratar cualquier tipo como un objeto (todos los tipos derivan del tipo object).

Ejemplos:

[csharp]
int i = 1;
object o = i; // boxing
int j = (int) o; // unboxing

ObjetoEjemplo p = new ObjetoEjemplo(10,10);
object o = p; // boxing
p.X = 100;
Console.WriteLine( ((ObjetoEjemplo) o).X); // unboxing
[/csharp]

Eso sí, a pesar de las ventajas que puede aportar al desarrollador, también provoca un overhead que puede llegar a repercutir negativamente en programas con gran cantidad de operaciones (cuando se le aplica una conversión a un tipo valor se asigna y crea un nuevo objeto), por lo que no debería utilizarse como primera opción.

Written by adrian

18 agosto, 2007 a 22:23

Publicado en Posts

Tagged with , ,

2 comentarios

Subscribe to comments with RSS.

  1. Muy ilustrativo !

    Gracias…

    IvanFranco

    7 diciembre, 2007 at 22:34

  2. Hola, entiendo el concepto pero no entiendo cual es la utilidad de esto, es decir para que lo querríamos utilizar en la práctica en una aplicación.

    Victor

    15 mayo, 2008 at 19:46


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: