La nouvelle Ligne de la Constante d'erreur
Je suis en train d'écrire un code c# dans laquelle je suis aller chercher les valeurs de la base de données et l'utiliser.
Le problème, je suis confronté est comme ci-dessous.
Si mon extraites de la valeur à partir de la base de données est :
string cat1 = "sotheby's";
maintenant pendant l'utilisation de ce chat, je veux insérer un caractère d'échappement avant le guillemet simple, à réaliser ce que j'ai écrit le code ci-dessous:
string cat1 = "sotheby's";
if (cat1.Contains("'")) {
var indexofquote = cat1.IndexOf("'");
cat1.Insert(indexofquote-1,"\");
var cat2 = cat1;
}
L'erreur s'élève à insérer une ligne, la barre oblique inverse(caractère d'échappement). L'erreur est la Nouvelle Ligne Constante.
S'il vous plaît aider moi comment faire pour corriger cette erreur.
- Eh bien, vous devez échapper comme
"\\"
ou la modifier à@"\"
- Remarque: il ya une bonne chance que la bonne solution est d'utiliser celles existantes de la sérialisation JSON serait plus fiable des caractères d'échappement pour être utilisé en JavaScript/ web services...
- Partout où cette chaîne est à la tête, il n'y a presque certainement déjà une solution intégrée qui est mieux que manuellement échapper
'
caractères. - Aussi,
String.Insert
: "Retourne un nouveau chaîne de caractères dans laquelle ..." - ouais je l'ai eu...
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas écrire
"\"
dans le code C#. Qui permettront de produire de la "Nouvelle Ligne dans la Constante d'erreur" parce qu'il "s'échappe" la deuxième citation de sorte qu'il ne compte pas. Et la chaîne n'est pas fermé.Utiliser
"\\"
(échapper à la\
avec lui-même)ou utiliser
@"\"
(un verbatim de la chaîne).La barre Oblique inverse dans les littéraux de chaîne est un caractère d'échappement, il doit être échappé lui-même:
Ou vous pouvez utiliser un soi-disant textuellement chaîne de caractères littérale:
Voir: http://msdn.microsoft.com/en-us/library/aa691090.aspx
Au sujet de votre erreur de compilation: Les séquences d'échappement suivantes guillemet, ainsi que la chaîne de caractères littérale n'est pas reconnu comme étant fermé. Les caractères suivants ); et sont valables pour les littéraux de chaîne, cependant, la fin de ligne (newline) ne l'est pas. D'où l'erreur.
Qui remplacera uniquement 1 seul devis.
Pour obtenir tous les utiliser:
Bien que beaucoup de bases de données ne pas échapper les guillemets comme ça, mais plutôt par les doubler: