2011-02-28 20 views
9

¿Es posible tener una cadena de varias # C que contiene html?C# multilínea cadena con html

Los siguientes trabajos finos:

 string output = @"Qiuck 
         brown 
         fox 
         jumps 
         over 
         the 
         lazy 
         log"; 

Pero esto no funciona:

  string output = @"<object> 
         <node> 
         <param value=\"test\" /> 
         </node> 
         </object> 
         "; 

Sin embargo, este ejemplo similar funciona, yo acabamos sacado el atributo de parámetro:

  string output = @"<object> 
         <node> 
         <param /> 
         </node> 
         </object> 
         "; 

¿Alguna sugerencia sobre la mejor manera de empaquetar html en una variable de cadena? Si no es posible, supongo que el siguiente mejor método es simplemente leer de un archivo. ¿Alguna otra idea?

El problema con el ejemplo 2 parece haber escapado de las comillas.

Respuesta

30

Use comillas dobles en vez de escapar de ellos.

string output = @"<object> 
        <node> 
        <param value=""test"" /> 
        </node> 
        </object> 
        "; 
+4

Nitpick: técnicamente, todavía se está escapando, solo que con un personaje de escape diferente :) – Thorarin

7

Use "" en lugar de \". Seguirá emitiendo ". Cuando estás haciendo cadenas literales, el carácter de escape no se procesa:

string output = @"<object> 
         <node> 
          <param value=""test"" /> 
         </node> 
        </object> 
        "; 
2

Use comillas simples en el parámetro.