带有html的C#多行字符串

时间:2011-02-28 18:34:10

标签: c# string syntax

是否可以使用包含html的多行C#字符串?

以下工作正常:

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

但这不起作用:

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

然而,这个类似的例子确实有效,我刚刚取出了param的属性:

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

关于将html打包成字符串变量的最佳方法的任何建议?如果不可能,我假设下一个最好的方法只是从文件中读取?还有其他想法吗?

示例2的问题似乎是转义引号。

3 个答案:

答案 0 :(得分:32)

使用双引号而不是转义它们。

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

答案 1 :(得分:7)

使用""代替\"。它仍会输出"。当您执行文字字符串时,不处理转义字符:

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

答案 2 :(得分:2)

在参数中使用单引号。