In C#, a constructor is the member of the class and is automatically invoked once the object of the class is created. It is like a method in a program and is used for the initialization of the data members of a newly created object.
1 2 3 4 5 6 7 8 9 10 11 12 13 | class Example { ....... // Constructor public Example() { //Object initialization } ....... } //creating oject Example obj = new Example(); |
Two types of C# constructors
- Default constructor
- Parameterized constructor
Default Constructor in C#
A constructor without any parameters is called a default constructor and is invoked at the time of creating the object of the class.
Example: Default C# Constructor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | using System; public class Student { public Student() { Console.WriteLine("Constructor Called"); } public static void Main(string[] args) { Student std1 = new Student(); Student std2 = new Student(); } } |
Output:
Constructor Called
Constructor Called
As you can see, that the constructor is called every time we create a new object of the class. And since it is a default constructor, it has no parameter.
Parameterized Constructor in C#
A Constructor having a specific number of parameters is called Parameterized Constructor. Passing parameters is useful when you want to assign a different initial value to distinct objects.
Example: Parameterized C# Constructor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | using System; public class Student { public int roll; public String name; public float score; //constructor public Student(int r, String n, float s) { roll = r; name = n; score = s; } public void display() { Console.WriteLine(roll + " " + name + " " + score); } } class StudenInfo { public static void Main(string[] args) { Student std1 = new Student(1101, "Shaun", 80.5f); Student std2 = new Student(1102, "Garen", 90f); std1.display(); std2.display(); } } |
Output:
1101 Shaun 80.5
1102 Garen 90
As you can see the student details are initialized and displayed for every object created for the Student class in a program.