Chiocciola in VB.NET

di il
2 risposte

Chiocciola in VB.NET

Scusate e' per una mia curiosita' :

Cosa significa la chiocciola in questo commando;

Directory.SetCurrentDirectory(@"C:\")

L'ho vista in diversi siti come per esempio https://learn.microsoft.com/en-us/dotnet/standard/io/file-path-formats

2 Risposte

  • Re: Chiocciola in VB.NET

    Ciao, se non ricordo male (nel caso correggetemi) funziona così:

    con la chiocciola

    @"C:\Users\NomeUtente\Documenti"

    senza la chiocciola

    "C:\\Users\\NomeUtente\\Documenti"

    in pratica il \ è usato è usato come carattere di escape per indicare sequenze speciali, per esempio:

    • \n significa nuova riga
    • \t significa tabulazione
    • \\ significa una singola barra rovesciata letterale

    mettendo la chiocciola dici a .net di non considerare quel simbolo come carattere di escape

  • Re: Chiocciola in VB.NET

    Ho chiesto ad ChatGPT (chissa' perche' non l'ho chiesto direttamente a lui prima)   :(  

    ed infatti tempo fa' mi aveva risposto in questo modo

    e mi ha risposto cosi':

    In VB.NET, la chiocciola @ davanti a una stringa come @"C:\" non è valida sintassi. Quella è in realtà sintassi del C#, dove @"..." indica una stringa letterale verbatim, cioè una stringa in cui i caratteri speciali come la barra rovesciata \ non vengono interpretati come escape.

    In C#, questo funziona senza problemi: @"C:\" rappresenta esattamente C:\.

    In VB.NET, invece:

    In VB.NET non si usa la @, e per scrivere un percorso con le backslash (\) basta raddoppiarle solo se necessario per evitare ambiguità, ma in una stringa normale come "C:\" va bene così com'è.

    Riepilogo:

    LinguaggioSintassiSignificato
    C#@"C:\"Stringa verbatim (no escape)
    VB.NET"C:\"Stringa normale (no @)

    Se vedi @ in codice VB.NET, è probabilmente un errore copiato da codice C#.

Devi accedere o registrarti per scrivere nel forum
2 risposte