¿Por qué las declaraciones de asignación devuelven un valor?
Esto está permitido:
int a, b, c;
a = b = c = 16;
string s = null;
while ((s = "Hello") != null) ;
A mi entender, asignacións = ”Hello”;
solo debe causar“Hello”
para ser asignado as
, pero la operación no debería devolver ningún valor. Si eso fuera cierto, entonces((s = "Hello") != null)
produciría un error, ya quenull
Sería comparado con nada.
¿Cuál es el razonamiento detrás de permitir que las declaraciones de asignación devuelvan un valor?