C# | this Keyword - GeeksforGeeks

15 Nov, 2021
this keyword is used to refer to the current instance of the class. It is used to access members from the constructors, instance methods, and instance accessors. this keyword is also used to track the instance which is invoked to perform some calculation or further processing related to that instance. Following are the different ways to use ‘this’ keyword in C# :Program 1: Using ‘this’ keyword to refer current class instance members 
csharp
// C# program for using 'this' keyword to// refer current class instance membersusing System;namespace geeksforgeeks { class Geeks {     // instance member    public string Name;     public string GetName()    {        return Name;    }      public void SetName(string Name)    {         // referring to current instance         //"this.Name" refers to class member         this.Name = Name;    }} class program {     // Main Method    public static void Main()    {        Geeks obj = new Geeks();        obj.SetName("Geeksforgeeks");        Console.WriteLine(obj.GetName());    }}}
Geeksforgeeks
 
Program 2 : Using this() to invoke the constructor in same class 
csharp
// C# program for using 'this' keyword to// invoke the constructor in same classusing System;namespace geeksforgeeks { class Geeks {     // calling another constructor    // calls Geeks(string Name)    // before Geeks()    public Geeks() : this("geeks")    {        Console.WriteLine("Non-Parameter Constructor Called");    }     // Declare Parameter Constructor    public Geeks(string Name)    {        Console.WriteLine("Parameter Constructor Called");    }} class program {         // Main Method    public static void Main()    {            Geeks obj = new Geeks();            // Warning: obj never used..    }}}
Output:
Parameter Constructor Called
Non-Parameter Constructor Called
Program 3: Using ‘this’ keyword to invoke current class method  
csharp
// C# code for using this to invoke current// class methodusing System;class Test {     void display()    {        // calling function show()        this.show();             Console.WriteLine("Inside display function");    }         void show()    {        Console.WriteLine("Inside show function");    }         // Main Method    public static void Main(String []args)    {        Test t1 = new Test();        t1.display();    }}
Inside show function
Inside display function
Program 4: Using ‘this’ keyword as method parameter  
csharp
// C# code for using 'this'// keyword as method parameterusing System;class Test{    int a;    int b;         // Default constructor    Test()    {        a = 10;        b = 20;    }         // Method that receives 'this'    // keyword as parameter    void display(Test obj)    {        Console.WriteLine("a = " + a + " b = " + b);    }     // Method that returns current    // class instance    void get()    {        display(this);    }     // Main Method    public static void Main(String[] args)    {        Test obj = new Test();        obj.get();    }}
a = 10 b = 20
 
Program 5: Using this keyword to declare an indexer  
csharp
// C# code for using 'this'// keyword to declare indexerusing System;namespace geeksforgeeks {     class Geeks {         private string[] days = new string[7];     // declaring an indexer    public string this[int index]    {        get        {            return days[index];        }         set        {            days[index] = value;        }    }}  class Program {         // Main Method    public static void Main()    {        Geeks g = new Geeks();        g[0] = "Sun";        g[1] = "Mon";        g[2] = "Tue";        g[3] = "Wed";        g[4] = "Thu";        g[5] = "Fri";        g[6] = "Sat";        for (int i = 0; i < 7; i++)            Console.Write(g[i] + " ");    }}}
Sun Mon Tue Wed Thu Fri Sat
 
Akanksha_Rai
kalrap615
kapoorsagar226
CSharp-keyword
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Top 50 C# Interview Questions & Answers
Extension Method in C#
HashSet in C# with Examples
Partial Classes in C#
C# | Inheritance
Convert String to Character Array in C#
Linked List Implementation in C#
C# | How to insert an element in an Array?
C# | List Class
Difference between Hashtable and Dictionary in C#