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