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

Demo en vivo en .NET Fiddle

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.";

Demo en vivo en .NET Fiddle

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.

Demo en vivo en .NET Fiddle

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

Demo en vivo en .NET Fiddle

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).

Demo en vivo en .NET Fiddle



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