this is mainly used to explicitly use a class member when the name alone would be ambiguous, as in this example:
public class FooBar
{
private string Foo;
private string Bar;
public void DoWhatever(string Foo, string Bar)
{
// use *this* to indicate your class members
this.Foo = Foo;
this.Bar = Bar;
}
public void DoSomethingElse()
{
// Not ambiguity, no need to use *this* to indicate class members
Debug.WriteLine(Foo + Bar);
}
}
Aside from that, some people prefer to prefix internal method calls (`this.Method()´) because it makes it more obvious that you are not calling any external method, but I don't find it important.
It definitely has no effect on the resulting program being more or less efficient.