2011-01-20 14 views
5

Su MSDN, posso leggere che \' è la sequenza di escape per ' char. Comunque sono in grado di usarlo in stringa senza sequenza di escape come questa:Non è necessario utilizzare la seq escape. per 'in C#?

Console.WriteLine("Press 'X' "); 

Come è possibile?

+0

Huh, prova a spiegare un po 'di più. –

risposta

3

\' lo screening è necessario per i caratteri letterali. Il motivo è che ' può essere interpretato come un carattere letterale al contorno. Per le stringhe non ha senso perché non c'è niente con cui confondere. In strings a turno \" ha senso.

5

char (un letterale a carattere singolo) è un tipo di dati diverso da string (un valore letterale a più caratteri).

In C# un char è dichiarato come:

var c = 'c'; 

mentre un string è dichiarato come:

var s = "asdf"; 

Come si può vedere l'apostrofo (') avrebbe bisogno di essere sfuggito a dichiarare a char contenente la citazione singola:

var c = '\''; 
+0

Avrebbe anche bisogno di uscire "characater ~ var c =" questa è una citazione: \ ""; – WernerCD

0

Si dice che è necessario eseguire l'escape 'per un tipo di dati char.

char c = '''; // compiler throws error 
char c = '\''; // valid 
Problemi correlati