2010-05-26 19 views
7

Necesito escribir un literal de cadena en un archivo de texto, pero el compilador de C# encuentra errores cuando uso caracteres de comillas en él.¿Cómo puedo poner comillas en una cadena?

Mi código actual:

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

necesito la salida para el archivo de texto a ser:

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

cómo puedo poner comillas en cadenas en C#?

+2

Si está creando XML, entonces no debería usar un escritor de texto como ese. Use un 'XmlWriter' en su lugar para generar el XML correctamente. –

Respuesta

21

Necesita escaparse de las comillas para ponerlas en una cadena. Hay dos formas de hacer esto. El uso de barras invertidas en una cadena normal:

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

utilizando marcas dobles quoation en una cadena @ -delimited:

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

la segunda forma (cadena @ -delimited) se llama una cadena literaria literal https://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx – BlackTigerX

9

Trate

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

Tenga una mirada en "secuencias de escape de caracteres Lo que están disponibles?" de C# FAQ

+0

Gracias hermano ... está trabajando – riad

+0

Gracias, realmente debería 'aceptar' las respuestas, yo en este caso mío o Guffas, ambos son correctos :) –

+0

sí, ambos derecho.pero algunas veces estaba demasiado ocupado ... para hacerlo ... realmente lo siento por eso ... gracias por recordarme ... – riad

2

Dado que tanto XML "y" se usa, trate

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