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

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

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

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

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

textual
Листинг программы
.method private hidebysig static void  PreInc() cil managed
{
  IL_0000:  ldsfld     int32 Test.Program::number      //Кладём на стек значение переменной number (0)
  IL_0005:  ldc.i4.1                                   //Кладём на стек единицу (0 1)
  IL_0006:  add                                        //Берём два значения со стека, складываем, кладём обратно (1)
  IL_0007:  dup                                        //Дублируем значение со стека (1 1)
  IL_0008:  stsfld     int32 Test.Program::number      //Забираем значение со стека в number (number = 1)
  IL_000d:  call       void Test.Program::Check(int32) //Забираем со стека значение и вызываем функцию: Check(1)
} // end of method Program::PreInc
 
//Получаем выход: Passed: 1, Current: 1
...
 
.method private hidebysig static void  PostInc() cil managed
{
  IL_0000:  ldsfld     int32 Test.Program::number      //Кладём на стек значение переменной number (1)
  IL_0005:  dup                                        //Дублируем значение со стека (1 1)
  IL_0006:  ldc.i4.1                                   //Кладём на стек единицу (1 1 1)
  IL_0007:  add                                        //Берём два значения со стека, складываем, кладём обратно (1 2)
  IL_0008:  stsfld     int32 Test.Program::number      //Забираем значение со стека в number (number = 2)
  IL_000d:  call       void Test.Program::Check(int32) //Забираем со стека значение и вызываем функцию: Check(1)
} // end of method Program::PostInc
 
//Получаем выход: Passed: 1, Current: 2

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


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

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

11   голосов , оценка 3.727 из 5
Похожие ответы