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.

Comments
Join the conversation! Your thoughts help the community grow.