Value Type in C#
The value type-based objects directly contain the value. Here there is no need to create an instance with values.
The value type variables are.
- struct
- enum
Example
using System;
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
In the above program, we have used structure variables like.
Point p = new Point(2, 3);
Here we are passing value to x and y. So, we call this a value type.
Reference Type in C#
The reference type variables will create only instances but pass any values.
Example
using System;
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 an instance to open another form, and other form variables were accessed only after creating an instance.