C # ‘@’ prima di una stringa

Possibile duplicato:
Qual è il @ davanti a una stringa per .NET?

Ho trovato questo in un libro di studio C #

DirectoryInfo dir = new DirectoryInfo(key.Key.ToString() + @":\"); 

Il libro tuttavia non spiegava a cosa serviva il simbolo ‘@’. Ho provato a cercare gli operatori MSDN C # ma non è elencato lì. Posso indovinare che permette allo sviluppatore di non dover uscire da una “\” o non permettere di avere sequenze di escape?

A cosa serve e perché dovrei usare @":\" invece di ":\\" ?

Grazie per l’aiuto

Modifica: vedere il commento qui sotto per una domanda simile

Significa interpretare la stringa letteralmente (ovvero, non puoi sfuggire a nessun carattere all’interno della stringa se usi il prefisso @). Migliora la leggibilità nei casi in cui può essere utilizzato.

Ad esempio, se si stesse lavorando con un percorso UNC, questo:

 @"\\servername\share\folder" 

è più bello di questo:

 "\\\\servername\\share\\folder" 

Significa anche che puoi usare parole riservate come nomi di variabili

dì che vuoi una class chiamata class, dato che la class è una parola riservata, puoi invece chiamare la tua class:

 IList @class = new List(); 

La prefissazione della stringa con un @ indica che deve essere trattato come un valore letterale, ossia senza escape.

Ad esempio se la tua stringa contiene un percorso, in genere lo farai:

 string path = "c:\\mypath\\to\\myfile.txt"; 

Il @ ti permette di fare questo:

 string path = @"c:\mypath\to\myfile.txt"; 

Notare la mancanza di doppie barre (fuggire)

Come nota a margine, devi anche ricordare che “escaping” significa “usare il back-barra come indicatore per caratteri speciali”. Puoi mettere un capo di linea in una stringa facendo così, ad esempio:

 String foo = "Hello\ There"; 

A cosa serve e perché dovrei usare @ “: \” invece di “: \”?

Perché quando hai una lunga puntura con molti \ non hai bisogno di sfuggirli tutti.