Wartość assignment operator w C# zwraca przypisaną wartość. Nie jest jasne, gdzie/jak ta funkcja może być pomocna. Używanie go w dziwnej składni jak to można zaoszczędzić linii kodu, ale nie zrobi nic dobrego do readbility:Dlaczego operator przypisania zwraca przypisaną wartość w języku C#?
private String value;
public void SetAndPrintValue(String value)
PrintValue(this.value = value);
}
private static void PrintValue(String value) {
/* blah */
}
Jaki jest jej cel wtedy?
To nie jest tylko jakość składni C#. Czasami jest przydatny w powiedzeniach, które pozwalają na jednoczesne przypisywanie i testowanie. Ma jednak bardziej zaciemniony kod, więc nie widzi dużego wykorzystania. Podsumowanie: cesja jest wyrażeniem, a nie stwierdzeniem! –
Kolejny dobry to leniwe tworzenie, jak w '_myInstance ?? (_myInstance = new MyObject()) ' – McGarnagle
btn1.Visible = btn2.Visible = false; – EricLaw