C# - Как a для l oop понимает следующий синтаксис и почему он работает? - PullRequest
0 голосов
/ 02 мая 2020

DO TNET FIDDLE

Итак, я оставил для l oop полностью пустым и сделал следующее:

using System;

public class Program
{
    public static void Main()
    {
        int i = 0;
        for(;;){
            if(i < 5){
                Console.WriteLine(i);
                i++;
            }
            else
            {
                break;  
            }
        }
    }
}

Я знал, что это будет работать, но я не знаю, как это работает. Может ли кто-нибудь объяснить мне, почему это работает и как для l oop понимает этот синтаксис?

Я новичок в C#, так что успокойтесь со мной.

Ответы [ 3 ]

2 голосов
/ 02 мая 2020

Нет разницы между for(;;) и while(true). Вы можете использовать все, что вам нравится.

2 голосов
/ 02 мая 2020

Каждая часть a для l oop (;;) содержит оператор. Как вы знаете, первый раздел для инициализации, затем проверка состояния и, наконец, раздел увеличения / уменьшения.

Если вы оставите их пустыми, то l oop будет повторяться бесконечное время, как это происходит в то время как (true).

2 голосов
/ 02 мая 2020

A for(...) l oop без инициализации, условия, шаг итерации for(;;) - это Infinite L oop, который выполняется вечно, если не указано явное условие выхода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...