2009-11-09 3 views

Répondre

3

les chaînes sont immuables, ce qui signifie que toute modification que vous faites à un résultat de chaîne dans une nouvelle, vous devez affecter le résultat de la méthode Replace:

if (myString.Contains("/")) 
{ 
    myString = myString.Replace("/", "\\/"); 
} 
3

String.Replaceretours la chaîne avec les remplacements effectués - il ne change pas la chaîne elle-même. Ça ne peut pas; les chaînes sont immuables. Vous avez besoin de quelque chose comme:

text = text.Replace("/", "\\/"); 

(Dans les exemples futurs, il serait utile que vous pouvez utiliser des noms de variables valides BTW Cela signifie que ceux qui souhaitent répondre par le code de travail peut utiliser les mêmes noms que vous avez utilisé. .)

+0

Merci Tony bon conseil –

1

une façon est d'utiliser un mot pour mot chaîne littérale

string.Replace("/", @"\"); 
+3

Vous voulez dire "verbatim chaîne littérale" - tout ce qui est entre guillemets est un littéral de chaîne. –

+0

Oups. Vous avez raison. – Bryan

Questions connexes