Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

C# Intermediate C# System.Object Object.ToString

Koray Erkan
Koray Erkan
1,235 Points

Actually I didn't get the purpose of "this" generally. What does it refers to? Where do we use it effectively?

Actually I didn't get the purpose of "this" generally. What does it refers to? Where do we use it effectively?

4 Answers

Steven Parker
Steven Parker
231,198 Points

:point_right: The keyword "this" generally refers to the current instance of a class.

Some examples of where it would be used can be found on this MSDN page.

In addition to the examples shown there, it is also used when defining extension methods, which have their own workshop here: C# Extension Methods.

Andy DeBruhl
Andy DeBruhl
11,651 Points

this refers to the current instance of an object. Taking the example code from above...

''' class Program { string x;
public void input()
{ this.x = System.Console.ReadLine();
}

          public static void Main()
            {
            Program  pro = new Program();                
            pro.input();                                                 
           Console.System.Write(pro.x);
        }

     }

''''

imagine when pro.Input is called that pro is where this is.....so pro.x inside of the input() method, this is replaced with pro which is the instance of the object. I have no idea if that helps but that is how i understand this.

Avan Sharma
Avan Sharma
7,652 Points

"this" keyword is used to refer the object which is calling the function.

Note: All class member functions require an object for them to invoke unless they are static. The object which invokes the method will be referred using the keyword this.

      class Program
               {
              string x;                                    
              public void input()                  
                    { 
                     this.x  = System.Console.ReadLine();   
                     }

              public static void Main()
                {
                Program  pro = new Program();                
                pro.input();                                                 
               Console.System.Write(pro.x);
            }

         }
Maddalena Menolascina
Maddalena Menolascina
6,668 Points

I never fully understood its purpose, sorry but none of the above links helped me out... has anybody got a very simple example? Thank you very much