Value type:
The value type based objects directly contains the value. Here there is no need to create instance with values.
The value type variable's are
Example:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
struct Point
{
private int
x, y;
public Point(int
x, int y)
{
this.x = x;
Console.WriteLine(x);
Console.ReadLine();
this.y = y;
}
public int
X
{
get { return
x; }
set { x = value;
}
}
public int
Y
{
get { return
y; }
set { y = 3; }
}
}
static void Main(string[] args)
{
Point p = new
Point(2, 3);
p.X = 9;
int
x=p.X;
}
}
}
In above program we have used structure variable like,
Point p = new Point(2, 3);
Here we are passing value to x and y. So, we calling this as value type.
Reference Type:
The reference type variales will create only instance but pass any values.
Example:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Application.Run(new
frm());
}
}
class frm : Form
{
public frm()
{
Button b = new
Button();
this.Controls.Add(b);
b.Click+=new EventHandler(b_Click);
}
void b_Click(object
sender, EventArgs e)
{
frm1 f = new
frm1();
f.Show();
}
}
class frm1 : Form
{
}
}
In the above program we created instance to open the another form and other form variables accessed only after creating instance.