Por que as instruções de atribuição retornam um valor?
Isso é permitido:
int a, b, c;
a = b = c = 16;
string s = null;
while ((s = "Hello") != null) ;
Para meu entendimento, atribuiçãos = ”Hello”;
só deve causar“Hello”
a ser atribuído as
, mas a operação não deve retornar nenhum valor. Se isso fosse verdade, então((s = "Hello") != null)
produziria um erro, poisnull
seria comparado a nada.
Qual é o raciocínio por trás da permissão de declarações de atribuição para retornar um valor?