C# помочь объявить переменную я инициализировать его

Я хотел бы объявить переменную типа int i, инициализируйте его до 4, а затем проверьте следующие операторы увеличения и уменьшения. Прокомментируйте полученный вывод.

Вот неполный код, который я сделал:

    class Program
    {
        static void Main(string[] args)
        {
            int Cash;
            Cash = 10;

            Console.WriteLine("{0}", ++ Cash);
            Console.WriteLine("{0}", Cash);
            Console.WriteLine("{0}", Cash ++);
        }
    }

Это дает мне

11, 11 11

с выхода. Я не уверен, правильно ли я это сделал. Может кто-нибудь поправить меня, если я не прав?

7 ответов

Решение

Да, вывод правильный:

// This line increments the variable then prints its value.
Console.WriteLine("{0}", ++ Cash);
// This prints the value of the (incremented variable)
Console.WriteLine("{0}", Cash);
// The prints the value of the variable *then* increments its value
Console.WriteLine("{0}", Cash ++);

Использование var++ или ++var увеличивает значение переменной var. Если вы используете var++ на линии записи, система выводит значение переменной var перед ее увеличением.

Если вы хотите уменьшить значение из переменной var, используйте var--.

Когда вы делаете ++Cash, он сначала увеличивает переменную, а затем печатает. После, вы просто печатаете переменную, затем на Cash++ он печатает переменную перед приращением. Так что да, ваш вывод правильный.

Вы найдете много ценной информации о результатах, которые вы получаете здесь:

https://msdn.microsoft.com/en-us/library/36x43w8w.aspx

Короткий ответ заключается в том, что вы выполняете там операцию до и после инкремента и, таким образом, видите результат ПОСЛЕ операции (в данном случае добавление единицы) - значение переменной в настоящий момент, а затем результат ДО операции. Вот почему вы видите 11 все три раза.

веселит.

++ Деньги - это "Увеличьте деньги на 1 и дайте их мне" - это даст вам 11

Наличные деньги тогда 11

Cash ++ - это "Дайте мне наличные, а затем увеличьте их на 1" - это даст вам 11, и тогда Cash будет 12.

Подобный вопрос: C# до и после приращения путаницы

int Cash;
Cash = 10;

Console.WriteLine("{0}", ++ Cash);
Console.WriteLine("{0}", Cash);
Console.WriteLine("{0}", Cash ++);

Вы инициализируете Cash на 10 (кстати, строчными). Тогда вы preincrement перед WriteLine() готово. Таким образом, он печатает 11, Следующий просто распечатывает ваш cash переменная, которая находится в этой точке 11. Затем вы делаете post increment см. ссылку... которая распечатывает переменную cash, а затем увеличивает ее. если ты writeLine() ваш cash переменная сейчас, это будет 12.

++cache= update variable and then take it


cache++ = take value and than update variable
Другие вопросы по тегам