Почему операторы присваивания возвращают значение?

Это разрешено:

int a, b, c;
a = b = c = 16;

string s = null;
while ((s = "Hello") != null) ;

Насколько я понимаю, назначениеs = ”Hello”; должен только вызвать“Hello” быть назначенным наs, но операция не должна возвращать никакого значения. Если это было правдой, то((s = "Hello") != null) выдаст ошибку, так какnull будет по сравнению с ничем.

Какова причина, позволяющая операторам присваивания возвращать значение?

Ответы на вопрос(13)

Ваш ответ на вопрос