在 C# 中使用字符串生成器追加带有双引号的字符

本文关键字:字符 追加 字符串 | 更新日期: 2023-09-27 18:31:13

嗨,我想附加该行

<%@ page language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" inherits="WebApplication1.WebForm1" %>

到文本文件,但我卡在"C#","WebForm1.aspx.cs"和"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();
}

在 C# 中使用字符串生成器追加带有双引号的字符

尝试在

带引号的字符串中使用引号时,您有几个选项。

您可以转义引号:

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>";

您可以在字符串之前使用 @,并在要打印"的位置添加""

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