2010-05-26 18 views
7

Ho bisogno di scrivere una stringa letterale in un file di testo, ma il compilatore C# trova errori quando uso caratteri di citazione in esso.Come posso inserire virgolette in una stringa?

mio codice corrente:

writeText.WriteLine("<?xml version="1.0" encoding="utf-8"?>"); 

Ho bisogno l'uscita per il file di testo di essere:

<?xml version="1.0" encoding="utf-8"?> 

Come posso mettere virgolette nelle stringhe in C#?

+2

Se stai creando XML quindi non dovresti usare uno scrittore di testi del genere, usa un 'XmlWriter' per generare correttamente l'XML –

risposta

21

È necessario sfuggire alle virgolette per inserirle in una stringa. Ci sono due modi per farlo. Utilizzando backslash in una stringa regolare:

writeText.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); 

Utilizzando i doppi quoation in una stringa di @ delimitato da:

writeText.WriteLine(@"<?xml version=""1.0"" encoding=""utf-8""?>"); 
+2

Il il secondo modulo (stringa @ -delimitata) è chiamato letterale stringa letterale https://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx – BlackTigerX

9

Prova

writeText.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); 

Dai un'occhiata alla "Che carattere sequenze di escape sono disponibili?" di C# FAQ

+0

Grazie bro ... sta funzionando – riad

+0

Grazie, dovresti davvero" accettare "le risposte, io n questo caso mio o Guffa, sono entrambi corretti :) –

+0

sì entrambi avete ragione.ma alcune volte ero troppo occupato..per farlo..mi davvero dispiaciuto per quello..grazie per ricordarmelo .. – riad

2

Dal momento in XML sia "e 'possibile utilizzare, provare

writeText.WriteLine("<?xml version='1.0' encoding='utf-8'?>"); 
Problemi correlati