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:
Linguaggio | Sintassi | Significato |
---|
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#.