Есть ли различие между ++i и i++ для цикла - C#

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. for(int i = 0; i < 5; i++)
Есть хоть одна ситуация, где замена i++ на ++i будет иметь смысл?

Решение задачи: «Есть ли различие между ++i и i++ для цикла»

textual
Листинг программы
  1. .method private hidebysig static void  PreInc() cil managed
  2. {
  3.   IL_0000:  ldsfld     int32 Test.Program::number      //Кладём на стек значение переменной number (0)
  4.   IL_0005:  ldc.i4.1                                   //Кладём на стек единицу (0 1)
  5.   IL_0006:  add                                        //Берём два значения со стека, складываем, кладём обратно (1)
  6.   IL_0007:  dup                                        //Дублируем значение со стека (1 1)
  7.   IL_0008:  stsfld     int32 Test.Program::number      //Забираем значение со стека в number (number = 1)
  8.   IL_000d:  call       void Test.Program::Check(int32) //Забираем со стека значение и вызываем функцию: Check(1)
  9. } // end of method Program::PreInc
  10.  
  11. //Получаем выход: Passed: 1, Current: 1
  12. ...
  13.  
  14. .method private hidebysig static void  PostInc() cil managed
  15. {
  16.   IL_0000:  ldsfld     int32 Test.Program::number      //Кладём на стек значение переменной number (1)
  17.   IL_0005:  dup                                        //Дублируем значение со стека (1 1)
  18.   IL_0006:  ldc.i4.1                                   //Кладём на стек единицу (1 1 1)
  19.   IL_0007:  add                                        //Берём два значения со стека, складываем, кладём обратно (1 2)
  20.   IL_0008:  stsfld     int32 Test.Program::number      //Забираем значение со стека в number (number = 2)
  21.   IL_000d:  call       void Test.Program::Check(int32) //Забираем со стека значение и вызываем функцию: Check(1)
  22. } // end of method Program::PostInc
  23.  
  24. //Получаем выход: Passed: 1, Current: 2

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.727 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы