Wpis z mikrobloga

  • 2
@Goglez taki zapis trochę bez sensu, najlepiej zrobić to const. W readonly zwykle używasz do
a) wartości dynamicznych (w zależności np. od argumentów konstruktora)
b) typów danych, które nie mogą być const.
  • Odpowiedz
@Yahoo_: @WielkiElektronig: Taki zapis może mieć znaczenie, jeżeli something miałoby mieć domyślną wartość, która może zostać nadpisana przez konstruktor. Na przykład w klasie, która posiada kilka konstruktorów albo w konstruktorze, który posiada jakąś logikę. Wtedy something początkowo ma wartość 12, którą można zmienić na inną.

@Goglez: To tylko zapis, w rzeczywistości ta wartość zostanie nadana zmiennej dopiero w konstruktorze, więc to nie ma żadnego znaczenia.
  • Odpowiedz
@Priya: no jeśli tak to pewnie i tak bym to załatwił domyślną wartością konstruktora, żebym nie musiał zastanawiać się skąd ta wartość wzięła. Zresztą pisałem, że readonly właśnie w takich przypadkach ma sens

public Foo(int something = 12) { _something = something;}
  • Odpowiedz
@Yahoo_: Możesz mieć case z 2 konstruktorami gdzie do jednego już przekazujesz integer ( ͡° ͜ʖ ͡°)

public Foo(int someOtherInteger) {}
public Foo(int something = 12) {} // blad
  • Odpowiedz