Słowo kluczowe this daje dostęp do bieżącej instancji klasy, możemy to wykorzystać do rozwiązania problemu z dwuznacznością nazw. Problem ten występuje gdy parametr wejściowy klasy nazywa się tak samo jak jedno z pól w klasie. Oczywiście możemy rozwiązać ten problem poprzez nazwanie inaczej parametru a inaczej zmiennej w klasie np. poprzez dodanie przedrostka „_”, który stał się popularny przez język C++ lub poprzez zmianę wielkości litery rozpoczynającej nazwę zmiennej.
Zobaczmy przykład z użyciem przedrostka „_”:

class Cuboid {
        private double _height;

public void SetHeight(double height){
     _height = height;
  }
}

Zobaczmy przykład z użyciem zmiany wielkości litery rozpoczynającej nazwę zmiennej:

class Cuboid {
        private double height;

public void SetHeight(double Height){
     height = Height;
  }
}

Zobaczmy przykład z użyciem słowa kluczowego this:

class Cuboid {
        private double height;

public void SetHeight(double height){
    this.height = height;
   }
}

Gdy zapomnimy nazw zmiennych w klasie IntelliSense po wpisaniu this a następnie kropki podpowie nam jakie mamy nazwy zmiennych:

Jak widzimy w przykładzie z użyciem słowa kluczowego this jesteśmy w stanie użyć takiej samej nazwy dla parametru jak i pola w klasie. Gdy spróbujemy przypisać taką samą nazwę zmiennej bez użycia this kompilator zgłosi nam ostrzeżenie :

class Cuboid {
        private double height;

public void SetHeight(double height){
     height = height;
  }
}

W tym wypadku chcemy dla zmiennej height, która jest parametrem metody przypisać ją samą, kompilator nie wie, że chodzi nam o pole w klasie.
Pamiętajmy użycie słowa kluczowego this przedrostka „_” czy zmiana pierwszej litery jest to konwencja. W przypadku gdy piszemy projekty sami, możemy wybrać sobie taką jaką uważamy za odpowiednią. Każdy ma swoje fanaberie.

Jednak gdy pracujemy w teamie lub nasz kod będzie powszechnie dostępny polecam stosowanie powszechnie panującej konwencji:

  • pola prywatne nazywamy z przedrostkiem „_”.
  • pola publiczne zaczynamy z dużej litery
  • parametry wejściowe są rozpoczynane małą literą.