在c#中使用stringbuilder附加带双引号的字符

时间:2014-11-20 05:52:23

标签: c# asp.net stringbuilder

您好,我想附加一行

  

<%@ Page Language =" C#" AutoEventWireup ="真"代码隐藏=" WebForm1.aspx.cs中"继承=" WebApplication1.WebForm1" %GT;

到一个文本文件,但我被困在" C#" ," WebForm1.aspx.cs"和#34; WebApplication1.WebForm1"部分我的代码如下

 public string HeaderContent1()
 {
     var sb = new StringBuilder();
     sb.Append("<%@ Page Language=");
     sb.Append("c#");// prints only c#
     sb.Append("AutoEventWireup=");
     sb.Append("true");
     sb.Append("CodeBehind=");
     sb.Append("WebForm1.aspx.cs");// prints only WebForm1.aspx.cs I want with double quotes
     sb.Append("WebApplication1.WebForm1");// prints only WebApplication1.WebForm1 I want with double quotes
     sb.Append("%>");

     sb.AppendLine();
     sb.Append("<html>");
     sb.AppendLine();// which is equal to Append(Environment.NewLine);
     sb.Append("<head>");
     sb.AppendLine();
     sb.Append("<h1>New File header</h1>");
     sb.AppendLine(); // which is equal to Append(Environment.NewLine);
     sb.Append("</head>");
     sb.AppendLine();
     sb.Append("<body>");
     sb.AppendLine(); // which is equal to Append(Environment.NewLine);
     sb.Append("<h2> New File Body</h2>");
     sb.AppendLine();

     sb.Append("</body>");
     sb.AppendLine();

     sb.Append("</html>");
     sb.AppendLine();
}

2 个答案:

答案 0 :(得分:3)

尝试在引用的字符串中使用引用

时,您有几个选项。

你可以逃避引用:

sb.Append("\"WebForm1.aspx.cs\"");

或使用逐字符号:

sb.Append(@"""WebForm1.aspx.cs""");

你可以完全取消StringBuilder

var page = "<%@ Page Language=\"C#\" AutoEventWireup=\"true\" CodeBehind=\"WebForm1.aspx.cs\" Inherits=\"WebApplication1.WebForm1\" %><html>\r\n<head>\r\n<h1>New File header</h1>\r\n</head>\r\n<body>\r\n<h2> New File Body</h2>\r\n</body>\r\n</html>";

答案 1 :(得分:2)

您可以在字符串前使用@,然后将""添加到您要打印"的位置

sb.Append(@"""c#""");

将打印"c#"。这是完整的修改代码

var sb = new StringBuilder();
sb.Append(@"<%@ Page Language=");
sb.Append(@"""c#""");
sb.Append(" AutoEventWireup=");
sb.Append(@"""true""");
sb.Append(" CodeBehind=");
sb.Append(@"""WebForm1.aspx.cs""");
sb.Append(" Inherits=");
sb.Append(@"""WebApplication1.WebForm1""");
sb.Append("%>");
sb.AppendLine();
sb.Append("<html>");
sb.AppendLine();
sb.Append("<head>");
sb.AppendLine();
sb.Append("<h1>New File header</h1>");
sb.AppendLine();
sb.Append("</head>");
sb.AppendLine();
sb.Append("<body>");
sb.AppendLine();
sb.Append("<h2> New File Body</h2>");
sb.AppendLine();
sb.Append("</body>");
sb.AppendLine();
sb.Append("</html>");
sb.AppendLine();

工作演示:https://dotnetfiddle.net/eEGgUJ