2016-05-13 16 views
13

Durante una demo ho visto un pezzo di codice di test in cui lo sviluppatore aveva incollato un url nel codice. E quando lo sviluppatore ha creato l'applicazione, tutto ha funzionato, ma siamo tutti molto curiosi del perché il compilatore abbia accettato l'url come una linea.Url nel codice che non si rompe build

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

Perché il codice sopra riportato? Il compilatore considera la riga come un commento?

+4

Cool, ho intenzione di fare esattamente questo e ho rivisto il mio codice, per scherzare con i miei colleghi, grazie :) –

+0

C# supporta 'goto', qui il compilatore legge' http: 'come etichetta non come URL – Raghuveer

+0

Puoi vedere chiaramente cosa sta succedendo qui. Ma in IDE non è chiaramente esplicito, perché sta cambiando colore in blu e link come. – SeM

risposta

22

Se si prova il codice esatto sopra, si ottiene warning CS0164: This label has not been referenced.

L'avviso qui offre una chiara indicazione di cosa è successo.

Incollare l'URL ha creato un'etichetta http:, ad es. per l'utilizzo con goto, seguito immediatamente da un commento a riga singola, //www.foo.org.

+0

Grande spiegazione. Grazie. – smoksnes

Problemi correlati