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");
}
}
Почему код выше сборки? Компилятор рассматривает линию как комментарий?
Ответы
Ответ 1
Если вы попробуете точный код выше, вы получите warning CS0164: This label has not been referenced
.
Предупреждение здесь дает четкий намек на то, что произошло.
Вставка URL-адреса создала метку http:
, например. для использования с goto, за которым следует однострочный комментарий //www.foo.org
.