¿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?

Respuestas a la pregunta(13)

Su respuesta a la pregunta