Подтвердить что ты не робот

Url в коде, не нарушающем сборку

Во время демонстрации я увидел фрагмент тестового кода, в котором разработчик вставил код в код. И когда разработчик строит приложение, все работает, но нам все очень любопытно, почему компилятор принял URL как строку.

public class Foo
{
   // Why doesn't 'http://www.foo.org' break the build?
    public void Bar()
    {
        http://www.foo.org
        Console.WriteLine("Do stuff");
    }
}

Почему код выше сборки? Компилятор рассматривает линию как комментарий?

4b9b3361

Ответ 1

Если вы попробуете точный код выше, вы получите warning CS0164: This label has not been referenced.

Предупреждение здесь дает четкий намек на то, что произошло.

Вставка URL-адреса создала метку http:, например. для использования с goto, за которым следует однострочный комментарий //www.foo.org.