【发布时间】:2012-06-19 12:52:43
【问题描述】:
我有 Windows 窗体 UI,它允许我在 TextBox 中输入字符串格式,例如:
输入结果格式:{sku}:{value} \n
问题是,\n 被转义了,所以调试视图中的结果格式字符串如下所示:
{sku}:{value} \\n
这会产生 \n 而不是结果中的换行符。
所以问题是,如何防止这种情况,或者如何在StringBuilder.AppendFormat() 中使用之前删除转义
更新:我决定从 notepad++ 窗口添加图像,这可能有助于理解我需要什么以及为什么(虽然我的用例有点不同,但我认为想法是一样的):
【问题讨论】:
-
这只是一个调试器显示工件,它不是执行此操作的语言。 \n 仅在代码中的文字中有效,由编译器解析。您不能将其输入到“属性”窗口中。或 TextBox,您需要设置 Multiline = true 并按 Enter 键。
-
调试视图显示的是转义的字符串,但我想您会发现该字符串实际上并不包含转义。将字符串输出到 MessageBox 并查看转义是否真的存在。
-
您是否尝试过 "{sku}:{value}" + '\n'.ToString(),遇到了类似的问题,但可以使用 "char" 代替。跨度>
-
@HansPassant, Jim:如果是调试器显示工件,为什么在使用 StringBuilder.AppendFormat(textbox.Text, args) 后我看到的是 \n 而不是新行?
-
调试器以您在源代码中编写的方式向您显示字符串。单击放大镜图标以调出文本可视化工具。它会向您展示它在屏幕上的外观。