Se llama verbatim string literal, y utiliza el prefijo @
sin el prefijo, sigue siendo una cadena literal.. - es una cadena normal literal.
(Algunas personas piensan erróneamente que el término "cadena literal" sólo se aplica a pie de la letra los literales de cadena, pero es más general que eso)
literales de cadena Verbatim son útiles para:.
- líneas múltiples
- cadenas que naturalmente contienen barras invertidas (tales como rutas de Windows y expresiones regulares)
Tenga en cuenta que este solamente hace la diferencia en tiempo de compilación. En otras palabras, estas dos afirmaciones son precisamente equivalentes :
string x = "foo\\bar"; // Regular string literal
string x = @"foo\bar"; // Verbatim string literal
literales de cadena Verbatim todavía están internados en la misma forma que los literales de cadena regulares, todavía se refieren a casos de System.String
etc.
Desde la sección 2.4 .4.5 de la C# 4.0 specification:
una cadena normal literal consta de cero o más caracteres encerrados entre comillas dobles, como en "Hola", y puede incluir tanto secuencias de escape simples (tales como \ t para el carácter de tabulación) y secuencias de escape hexadecimales y Unicode.
Una literal literaria literal consta de un carácter @ seguido de un carácter de comillas dobles, cero o más caracteres y un carácter de comillas dobles de cierre. Un ejemplo simple es @ "hola". En un literal de cadena verbatim, los caracteres entre los delimitadores se interpretan textualmente, siendo la única excepción una secuencia de escape de cita. En particular, las secuencias de escape simples y las secuencias de escape hexadecimales y Unicode no se procesan en literales literales literales. Una literal litera literal puede abarcar varias líneas.
Tenga en cuenta que @ también puede ser utilizado como un prefijo para que pueda utilizar palabras clave como identificadores:
int class = 10; // Invalid
int @class = 10; // Valid
Esto no suele ser útil, pero a veces puede ser necesario si tiene utilizar una identificador particular (La palabra clave class
puede ser útil para una propiedad de tipo anónimo en ASP.NET MVC, por ejemplo.)
gracias chicos. Le di puntos a todos, pero tengo que elegir la mejor respuesta y es la primera respuesta. Gracias, de nuevo, por toda su ayuda. – Yves
En ese caso, @Kombucha, asegúrese de marcar esto como la respuesta aceptada. :) –
Lo hice :) Necesitaba esperar 8 minutos antes de poder incluso 'marcar' la marca de verificación. Acabo de hacerlo :) – Yves