C# Language
Cuerdas verbatim
Buscar..
Sintaxis
@ "las cadenas verbales son cadenas cuyo contenido no se escapa, por lo que en este caso \ n no representa el carácter de nueva línea sino dos caracteres individuales: \ y n. Las cadenas Verbatim se crean prefijando los contenidos de la cadena con el carácter @"
@ "Para escapar de las comillas", se utilizan "comillas dobles".
Observaciones
Para concatenar literales de cadena, use el símbolo @ al principio de cada cadena.
var combinedString = @"\t means a tab" + @" and \n means a newline";
Cuerdas multilínea
var multiLine = @"This is a
multiline paragraph";
Salida:
Esto es un
párrafo multilínea
Las cadenas de varias líneas que contienen comillas dobles también pueden escaparse tal como estaban en una sola línea, porque son cadenas literales.
var multilineWithDoubleQuotes = @"I went to a city named
""San Diego""
during summer vacation.";
Cabe señalar que los espacios / tabulaciones al comienzo de las líneas 2 y 3 aquí están realmente presentes en el valor de la variable; Compruebe esta pregunta para posibles soluciones.
Escapando cotizaciones dobles
Las comillas dobles dentro de las cadenas textuales pueden escaparse utilizando 2 comillas dobles secuenciales ""
para representar una comilla doble "
en la cadena resultante.
var str = @"""I don't think so,"" he said.";
Console.WriteLine(str);
Salida:
"No lo creo", dijo.
Cuerdas verbales interpoladas
Las cadenas verbales se pueden combinar con las nuevas funciones de interpolación de cadenas que se encuentran en C # 6.
Console.WriteLine($@"Testing \n 1 2 {5 - 2}
New line");
Salida:
Pruebas \ n 1 2 3
Nueva línea
Como se esperaba de una cadena textual, las barras invertidas se ignoran como caracteres de escape. Y como se esperaba de una cadena interpolada, cualquier expresión dentro de llaves se evalúa antes de insertarse en la cadena en esa posición.
Las cadenas Verbatim ordenan al compilador que no use escapes de caracteres
En una cadena normal, el carácter de barra diagonal inversa es el carácter de escape, que le indica al compilador que mire los caracteres siguientes para determinar el carácter real de la cadena. ( Lista completa de escapes de personajes )
En las cadenas textuales, no hay escapes de caracteres (excepto ""
que se convierte en un "
). Para usar una cadena textual, simplemente anteponga una @
antes de las comillas iniciales.
Esta cadena textual
var filename = @"c:\temp\newfile.txt"
Salida:
c: \ temp \ newfile.txt
A diferencia de usar una cadena ordinaria (no verbal):
var filename = "c:\temp\newfile.txt"
que dará salida:
c: emp
ewfile.txt
utilizando el carácter de escapar. (La \t
se reemplaza con un carácter de tabulación y la \n
se reemplaza con una nueva línea).