Possible en double:
when to use @ in c# ?que signifie "@" signifie en C#
F.E. string sqlSelect = @"SELECT * FROM Sales".
Possible en double:
when to use @ in c# ?que signifie "@" signifie en C#
F.E. string sqlSelect = @"SELECT * FROM Sales".
Cela signifie interpréter la chaîne suivante comme littérale. Signification, le \
dans la chaîne sera en fait un "\"
dans la sortie, plutôt que d'avoir à mettre "\\"
pour signifier le caractère littéral
Vous avez mélangé vos slashes. Sinon, j'aime mieux ta réponse. –
@Spencer Ruport: ne pouvait pas obtenir ça, comment mélangé? – Sarfraz
complètement. Devrait être backslash, pas une simple barre oblique –
Il vous permet d'avoir une chaîne avec un \ délimiteur dedans.
@ "C: \ A \ b \ c \ d \ e \ f" est légal.
Cela signifie qu'il n'est pas nécessaire d'échapper des caractères dans une telle chaîne.
Donc, si vous voulez écrire le chemin c: \ Windows, vous pouvez l'écrire comme
string path="c:\\Windows";
// Note échappé '\'
OU
string [email protected]"c:\Windows";
// '\' ne doit pas être échappé
Utilisé pour chaîne littérale. Elle marque la chaîne dans la citation (") des marques comme la valeur sans appliquer une interprétation des symboles dans cette chaîne
littéraux chaîne Verbatim commencent par @ et sont également insérés dans des doubles entre guillemets, par exemple..:
@"good morning" // a string literal
Nicked de, ont un regard sur les dernières lignes ci-dessus l'exemple pour plus d'informations. http://msdn.microsoft.com/en-us/library/362314fe.aspx
également https://msdn.microsoft.com/en-us/library/ms228362.aspx#Anchor_3 – Lu55
Il existe deux types de littéraux de chaîne, regular et verbatim. Le symbole @ en fait un littéral textuel verbatim.
Avant chaîne, elle permet différentes règles de formatage de chaîne. Vous ne pouvez pas utiliser la barre oblique inverse pour spécifier des symboles spéciaux et "" (les guillemets doubles deviennent des guillemets). Je trouve ce format très utile pour les expressions régulières
Exemple
Console.WriteLine(@"\n""\/a"); // outputs \n"\/a
Console.WriteLine("\\n\"\"\\/a"); // outputs \n"\/a
Vous pouvez également vu le symbole @ avant variable. Dans ce cas, il permet d'utiliser des mots-clés spéciaux en tant que variables.
Exemple:
var @switch = 1;
var @if = "test";
en C et C++, chaîne ont des caractères spéciaux appelés "caractères d'échappement". par exemple "\", "&" et le " lui-même est un caractère d'échappement!
De façon tout à fait normal que vous pouvez imprimer une déclaration comme
dit Nancy Bonjour tout le monde! & sourit
vous deviez définir votre chaîne comme suivante
string str = "Nancy said Hello World! \& smiled.";
Mais les gens dans Microsoft fait une nouvelle fonctionnalité intéressante dans le compilateur C# de sorte que vous pouvez échapper à la casse-tête de la manipulation des caractères d'échappement en ajoutant @ avant tout chaîne de caractères, et le compilateur gérera tous les caractères d'échappement pour vous seul. Pour le dernier exemple, vous pouvez avoir cela en C# comme suivant:
string str = @"Nancy said Hello World! & smiled.";
D'accord avec la délimitation, mais je ne crois pas & est un personnage qui nécessite de délimiter en C# – MPritchard
en double - http://stackoverflow.com/questions/1057926/when-to-use-in-c – ChrisF
Anecdote: vous pouvez également utiliser le préfixe littéral pour distinguer un identifiant d'un mot-clé. 'Int32 new;' est invalide, mais 'Int32 @new;' ne l'est pas. – HackedByChinese