tags:

views:

192

answers:

3

I need to write a string literal to a text file, but the C# compiler finds errors when I use quote characters in it.

My current code:

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

I need the output for the text file to be:

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

How can I put quote characters in strings in C#?

+9  A: 

Try

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

Have a look at "What character escape sequences are available?" of the C# FAQ

Binary Worrier
Thanks bro ...its working
riad
@riad, you should accept the answer then. A high accept rate encourages people to participate more.
Chris Schmich
Thanks, you really should 'accept' answers, in this case mine or Guffas, they are both correct :)
Binary Worrier
yes both of you r right.but some times i was too busy..to do it..i really sorry for that..thanks for remind me..
riad
+14  A: 

You need to escape the quotation marks to put them in a string. There is two ways of doing this. Using backslashes in a regular string:

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

Using double quoation marks in a @-delimited string:

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

Since to XML both " and ' can used, try

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