Wpis z mikrobloga

Cześć Mireczki.
Głupich pytań z programowaniem ciąg dalszy, tym razem C# i słowo kluczowe this. W sumie jakoś nigdy się nie interesowałem, tylko używałem jako odwołanie do obiektu przy wywoływaniu metod.
Czy jest jakakolwiek różnica pomiędzy:
class dodawaniet
{
protected int a, b;

public dodawaniet(int ia, int ib)
{
this.a = ia;
this.b = ib;
}

public string wypisz()
{
return this.a.ToString() + ", " + this.b.ToString();
}

public int suma()
{
return this.a + this.b;
}
}

a

class dodawaniebt
{
protected int a, b;

public dodawaniebt(int ia, int ib)
{
a = ia;
b = ib;
}

public string wypisz()
{
return a.ToString() + ", " + b.ToString();
}

public int suma()
{
return a + b;
}
}
?

#programowanie #csharp #dotnet #programista15k
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@emdzy39: Faktycznie :) W Pythonie jeśli pamięć mnie nie myli, this było wymagane przy każdej operacji na polach klasy.
@dan3k: Fakt, wówczas mógłbym zastosować nazwy parametrów identyczne z nazwami pól klasy, rozróżniając je przy pomocy this.

Dzięki wszystkim :)
  • Odpowiedz
@Anawa73: nie ma różnicy, jednak większość standardów kodowania mówi, żeby nie dawać this bo i po co? Jak chcesz sprawdzić różnice w kodzie, skompiluj te dwie klasy i porównaj kod IL
  • Odpowiedz