In c# everything is object. The object is a reference type.
What is boxing and unboxing?
The boxing is a concept to convert value type to reference type. The unboxing is
a concept to convert reference type to value type.
In basic the value types stored in stack and reference type stored in hash
table.
Example of boxing:
//boxing
int i = 12;
object j = i;
if (j is
int)
{
Console.WriteLine("j
contains an int");
Console.ReadLine();
}
Here we converting I value type to j reference type.
Example of Unboxing:
Unboxing is reverse to boxing.
Let consider two froms from1 and form2.In form1 you having two button control's
that having the text's of “hello” and “hai”.now you have to show your button
text when you clicking button.Here the button event should be same for two
button's.
Like
private
void button1_Click(object sender,
EventArgs e)
{
Button b = (Button)sender;//unboxing
Form2 frm =
new Form2();
frm.b = b.Text; //frm.b is a public variable of form2
frm.Show();
}
Here you used unboxing to optimize your code.
Then you can use the below code to show the clicked button text.
private
void Form2_Load(object
sender, EventArgs e)
{
label1.Text = b;
}