Member 14056811 Ответов: 4

Как изменить следующий код C# с использования цикла while на цикл for?


int x = 1;
в то время как(x < 10)
{
Приставка.Написать(x);
икс++;
}

Что я уже пробовал:

int x = 1;
for(int x = 1;i<=10;i++)
{
Приставка.Написать(x);
икс++;
}

4 Ответов

Рейтинг:
2

Dirk Bahle

Код опубликованный под тем что я пробовал не должен работать потому что вы заявляете x два раза и больше, но не объявлять i Как насчет этого кода:

for(int x = 1;x<10;x++)
{
  Console.Write(x);
}


Рейтинг:
2

Sk Imad

for(int i = 1; i < 10; i++)
{
   Console.Write(i);
}


Рейтинг:
1

F-ES Sitecore

В поле "для" Вы устанавливаете x в 1, затем проверяете, является ли i <= 10, а затем увеличиваете i.

int x = 1;
for(int x = 1;i<=10;i++)
{
Console.Write(x);
x++;
}


Изменение

int x = 1;
for(int i = 1;i<=10;i++)
{
Console.Write(x);
x++;
}


Или вы можете полностью избавиться от x

for(int i = 1;i<=10;i++)
{
Console.Write(i);
}


Рейтинг:
0

OriginalGriff

Вы объявляете X дважды, один раз здесь:

int x = 1;
И еще здесь:
for(int x = 1;i<=10;i++)
Это не очень хорошая идея, как скажет вам компилятор:
A local variable named 'x' cannot be declared in this scope because it would give a different meaning to 'x', which is already used in a 'parent or current' scope to denote something else
И вы не заявляете об этом i вообще!
Затем есть конечное условие, которое не является одинаковым для двух циклов - ваш новый цикл будет выполнять дополнительную итерацию, потому что он продолжает работать даже тогда, когда i равно 10.
Изменить это
int x = 1;
while (x < 10)
    {
    Console.Write(x);
    x++;
    }
К for петля, просто сделай это:
for (int x = 1; x < 10; x++)
    {
    Console.Write(x);
    }