Buscar..


Sintaxis

  • \ '- comilla simple (0x0027)
  • \ "- comillas dobles (0x0022)
  • \\ - barra invertida (0x005C)
  • \ 0 - nulo (0x0000)
  • \ a - alerta (0x0007)
  • \ b - retroceso (0x0008)
  • \ f - alimentación de formulario (0x000C)
  • \ n - nueva línea (0x000A)
  • \ r - retorno de carro (0x000D)
  • \ t - pestaña horizontal (0x0009)
  • \ v - pestaña vertical (0x000B)
  • \ u0000 - \ uFFFF - Carácter Unicode
  • \ x0 - \ xFFFF - Carácter Unicode (código con longitud variable)
  • \ U00000000 - \ U0010FFFF - Carácter Unicode (para generar sustitutos)

Observaciones

Las secuencias de escape de cadena se transforman en el carácter correspondiente en tiempo de compilación . Las cadenas normales que contienen barras inclinadas hacia atrás no se transforman.

Por ejemplo, las cadenas notEscaped y notEscaped2 continuación no se transforman en un carácter de nueva línea, sino que permanecerán como dos caracteres diferentes ( '\' y 'n' ).

string escaped = "\n";
string notEscaped = "\\" + "n";
string notEscaped2 = "\\n";

Console.WriteLine(escaped.Length); // 1
Console.WriteLine(notEscaped.Length); // 2            
Console.WriteLine(notEscaped2.Length); // 2

Secuencias de escape de caracteres Unicode

string sqrt = "\u221A";      // √
string emoji = "\U0001F601"; // 😁
string text = "\u0022Hello World\u0022"; // "Hello World"
string variableWidth = "\x22Hello World\x22"; // "Hello World"

Escapar de símbolos especiales en literales de personajes.

Apóstrofes

char apostrophe = '\'';

Barra invertida

char oneBackslash = '\\';

Escapando símbolos especiales en cadenas literales.

Barra invertida

// The filename will be c:\myfile.txt in both cases
string filename = "c:\\myfile.txt";
string filename = @"c:\myfile.txt";

El segundo ejemplo utiliza una cadena literal literal , que no trata la barra invertida como un carácter de escape.

Citas

string text = "\"Hello World!\", said the quick brown fox.";
string verbatimText = @"""Hello World!"", said the quick brown fox.";

Ambas variables contendrán el mismo texto.

"¡Hola mundo!", Dijo el rápido zorro marrón.

Nuevas lineas

Los literales de cadenas verbales pueden contener nuevas líneas:

string text = "Hello\r\nWorld!";
string verbatimText = @"Hello
World!";

Ambas variables contendrán el mismo texto.

Las secuencias de escape no reconocidas producen errores en tiempo de compilación

Los siguientes ejemplos no se compilarán:

string s = "\c";
char c = '\c';

En su lugar, producirán el error Unrecognized escape sequence en el momento de la compilación.

Usando secuencias de escape en identificadores

Secuencias de escape no se restringen a string y char literales.

Supongamos que necesita anular un método de terceros:

protected abstract IEnumerable<Texte> ObtenirŒuvres();

y suponga que el carácter Œ no está disponible en la codificación de caracteres que utiliza para sus archivos fuente de C #. Tiene suerte, está permitido usar escapes del tipo \u#### o \U######## en los identificadores del código. Entonces es legal escribir:

protected override IEnumerable<Texte> Obtenir\u0152uvres()
{
    // ...
}

y el compilador de C # sabrá que Œ y \u0152 son el mismo carácter.

(Sin embargo, podría ser una buena idea cambiar a UTF-8 o una codificación similar que pueda manejar todos los caracteres).



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow