Duplicar posibles:
when to use @ in c# ?lo que hace "@" significa en C#
F. E. string sqlSelect = @"SELECT * FROM Sales".
Duplicar posibles:
when to use @ in c# ?lo que hace "@" significa en C#
F. E. string sqlSelect = @"SELECT * FROM Sales".
Significa interpretar la siguiente cadena como literal. Es decir, \
en la cadena será realmente "\"
en la salida, en lugar de tener que poner "\\"
para significar el carácter literal
Tienes tus barras mezcladas. De lo contrario, me gusta más tu respuesta. –
@Spencer Ruport: no pude entender eso, ¿qué tan mezclado? – Sarfraz
completamente. Debe ser una barra invertida, no una simple barra –
Le permite tener una cadena con un \ delimitador en ella.
@ "C: \ A \ b \ c \ d \ e \ f" es legal.
Significa que no hay necesidad de escapar caracteres en una cadena.
lo tanto, si desea escribir la ruta de acceso C: \ Windows, puede escribir como
string path="c:\\Windows";
// Nota escapó '\'
O
string [email protected]"c:\Windows";
// '\' no necesita ser escapado
Utilizado para cadena literal. Marca la cadena dentro de la cita (") marcas como el valor sin aplicar ninguna interpretación de los símbolos de esa cadena
literales de cadena Verbatim comienzan con @ y también están encerrados en dobles entre comillas, por ejemplo..:
@"good morning" // a string literal
Nicked de, echar un vistazo a las últimas líneas anteriores el ejemplo para más información. http://msdn.microsoft.com/en-us/library/362314fe.aspx
también https://msdn.microsoft.com/en-us/library/ms228362.aspx#Anchor_3 – Lu55
Hay dos tipos de literales de cadena, regulares y literales. El símbolo @ lo convierte en una literal litera literal.
Antes de cadena Permite diferentes reglas cadena de formateo. No puede usar la barra invertida para especificar símbolos especiales y "" (las comillas dobles se convierten en comillas). Me parece que este formato muy útil para expresiones regulares
Ejemplo
Console.WriteLine(@"\n""\/a"); // outputs \n"\/a
Console.WriteLine("\\n\"\"\\/a"); // outputs \n"\/a
Es posible que también se ve el símbolo @ antes variable. En tal caso, permite usar palabras clave especiales de C# como variables.
Ejemplo:
var @switch = 1;
var @if = "test";
En C y C++, la cadena tiene algunos caracteres especiales llamados "caracteres de escape". por ejemplo "\", "&" y " ¡es un personaje de escape!
En el camino muy normal que le permite imprimir una declaración como
Nancy Said Hello World! & sonreído
había que ajustar su cadena como próximo
string str = "Nancy said Hello World! \& smiled.";
Pero la gente en Microsoft hizo una nueva característica fresca en el compilador de C# para que pueda escapar el dolor de cabeza de manejar los caracteres de escape mediante la adición @ antes de cualquier cadena, y el compilador manejará todos los caracteres de escape por ti mismo. Para el último ejemplo, usted puede tener esto en C# como el siguiente:
string str = @"Nancy said Hello World! & smiled.";
Estoy de acuerdo con la delimitación, pero no lo creo & es un carácter que requiere delimitar en C# – MPritchard
Duplicar - http://stackoverflow.com/questions/1057926/when-to-use-in-c – ChrisF
Dato curioso: también puede utilizar el prefijo literal para distinguir un identificador de una palabra clave. 'Int32 new;' no es válido, pero 'Int32 @new;' no lo es. – HackedByChinese