In C# programming, the "this" is a keyword which is used to refer to the current instant of class. In C# language, this keyword represents the "this" pointer of class. In C#, the "this" keyword is used to refer to the current class instant variable. The c# this keyword is used to call a constructor from a constructor in the same class.
Let's create an example of this keyword in C# programming.
using System.IO;
using System;
class Employee {
public int emp_id, emp_age;
public String emp_name;
public double emp_salary;
public Employee(int emp_id, string emp_name, int emp_age,double emp_salary) {
this.emp_id = emp_id;
this.emp_name = emp_name;
this.emp_salary = emp_salary;
this.emp_age = emp_age;
}
public void displayEmpData() {
Console.WriteLine("Employee ID= "+emp_id + " ," +"Employee Name=" +emp_name+" ,"+"Employee Age=" +emp_age+ ", "+"Employee Salary="+emp_salary);
}
}
class EmployeeDetails {
public static void Main(string[] args) {
Employee emp1 = new Employee(104, "Raman",26, 30000 );
Employee emp2 = new Employee(105, "Mohan", 27, 25000 );
emp1.displayEmpData();
emp2.displayEmpData();
}
}
Output -
Employee ID= 104 ,Employee Name=Raman ,Employee Age=26, Employee Salary=30000 Employee ID= 105 ,Employee Name=Mohan ,Employee Age=27, Employee Salary=25000
In the above example of C# this keyword, you can see the work of this pointer. In the above example, we used C# this pointer to separate the method arguments with class fields.
In this way, you can use the C# this pointer to separate method argument and class fields.
Let's create another example to pass keyword as a method parameter in C# program.
// this pointer in C# code .
// We can pass keword as method parameter :this
using System;
class Student
{
string name;
string address;
// Constructor
Student()
{
name="Ram";
address="India";
}
// Method that receives 'this'
// keyword as parameter
void show(Student std)
{
Console.WriteLine("Student Name="+name+", "+"Student Address="+address);
}
// Method that returns current
// class instance
void getData()
{
show(this);
}
// Main Method
public static void Main(String[] args)
{
Student std = new Student();
std.getData();
}
}
Output -
Student Name=Ram, Student Address=India
In the above example, we created a student class in C#. In the class we listed student data and displayed via this keyword as the parameter.