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