Во время игры с оператором ++
я попытался написать следующее:
++i++;
Я ожидал, что это скомпилировать сначала, но я получил ошибку компилятора:
Операнд оператора приращения или декремента должен быть переменной, свойства или индексатора.
Затем я попробовал написать ++(i++)
, чтобы помочь компилятору понять, что я имел в виду, но это также (неудивительно) не сработало.
Итак, мне осталось интересно, что возвращает оператор ++
? С ошибкой компилятора, которую я получаю, я ожидал, что ++i
не вернет значение int
, представляющее значение i
, добавленное, но это также не так, поскольку я могу сделать i = (++i) + 1
с успехом...
Кто-нибудь знает, почему оператор ++
не может быть привязан к цепи?
Кроме того, (++i).GetType()
возвращает System.Int32
.