如何使用转义序列保留空格 stringbuilder c#

How to keep spaces with escape sequences stringbuilder c#

我有一个带有转义序列的 stringbuilder 设置,可以将类似 ASCII 的艺术作品显示为文本。我正在使用 ASP.NET Web 表单。这是我的代码:

sb.AppendLine(@"   _____ ______   ___  ___  ________                                        ");
sb.AppendLine(@"  |\   _ \  _   \|\  \|\  \|\   ___ \                                       ");
sb.AppendLine(@"  \ \  \\__\ \  \ \  \\  \ \  \_|\ \                                      ");
sb.AppendLine(@"   \ \  \|__| \  \ \  \\  \ \  \ \ \                                     ");
sb.AppendLine(@"    \ \  \    \ \  \ \  \\  \ \  \_\ \                                    ");
sb.AppendLine(@"     \ \__\    \ \__\ \_______\ \_______\                                   ");
sb.AppendLine(@"      \|__|     \|__|\|_______|\|_______|                                   ");
sb.AppendLine(@"                                                                            ");

这是输出:

 _____ ______ ___ ___ ________ 
 |\ _ \ _ \|\ \|\ \|\ ___ \ 
 \ \ \\__\ \ \ \ \\ \ \ \_|\ \ 
 \ \ \|__| \ \ \ \\ \ \ \ \ \ 
 \ \ \ \ \ \ \ \\ \ \ \_\ \ 
 \ \__\ \ \__\ \_______\ \_______\ 
 \|__| \|__|\|_______|\|_______|   

我使用文本框来显示我的 stringbuilder textbox1.Text = sb.ToString(); 并将其打印在 ASP.NET 页面上。

我怎样才能让我的字符串保持原样?

输出的是一个html网页,在html中多个space显示为一个space。

你可以用 css 解决这个问题:

.myTextBox{
  white-space: pre;
}

如果不是,则使用 <pre> 标签和表单元素(<input><textarea> 等):

<div>multiple    spaces     will     be    displayed    as    one space</div>
<pre>multiple    spaces     will     be    displayed    as     typed! </pre>