Double Possible:
Quel est le @ devant une chaîne de caractères pour .NET?J'ai trouvé ça dans un C# livre d'étude
DirectoryInfo dir = new DirectoryInfo(key.Key.ToString() + @":\");
Le livre n'a toutefois pas expliquer ce que le symbole " @ " a été pour. J'ai essayé de chercher MSDN C# les Opérateurs mais ce n'est pas répertoriée. Je peux deviner qu'il permet au développeur de ne pas avoir à s'échapper d'un '\' ou permet-il de ne pas avoir des séquences d'échappement?
Qu'est-ce et pourquoi voudrais-je utiliser
@":\"
au lieu de":\\"
?Merci pour l'aide
Edit: Voir le commentaire ci-dessous pour une question similaire
- Quel est le @ devant une chaîne de caractères en C#? (5 réponses )
Réponses
Trop de publicités?Cela signifie qu’il faut interpréter la chaîne littéralement (c’est-à-dire que vous ne pouvez échapper à aucun caractère de la chaîne si vous utilisez le préfixe @). Il améliore la lisibilité dans les cas où il peut être utilisé.
Par exemple, si vous travailliez avec un chemin UNC, ceci:
@"\\servername\share\folder"
est plus gentil que ça:
"\\\\servername\\share\\folder"
La préfixe de la chaîne avec un @ indique qu'elle doit être traitée comme un littéral, c'est-à-dire qu'elle ne doit pas s'échapper.
Par exemple, si votre chaîne contient un chemin, procédez comme suit:
string path = "c:\\mypath\\to\\myfile.txt";
Le @ vous permet de faire ceci:
string path = @"c:\mypath\to\myfile.txt";
Notez le manque de doubles barres obliques (échappées)