我有一个字符串如下:
string example = @"string str = ""forty-two"";
char pad = '*';
输出
string str = "forty-two"; char pad = '*';
在一行中。我需要输出为follwos
string str = "forty-two";
char pad = '*';
如何在“填充垫”之前插入换行符'在这个逐字字符串文字
答案 0 :(得分:7)
在逐字字符串文字中,除了两个双引号之外,所有转义字符都是逐字解释的,因此如果你想要一个两行字符串,你必须手动将它写成两行:
string example = @"string str = ""forty-two"";
char pad = '*';";
Console.WriteLine(example); // string str = "forty-two";
// char pad = '*';
来自msdn:
字符串文字,例如@" c:\ Foo"被称为逐字字符串 文字。它基本上意味着,不会对任何解释作出任何解释 字符到达下一个引号字符"。所以,一字不差 字符串文字可以包含反斜杠(没有它们被加倍) 甚至行分隔符。在逐字中获得双引号(") 文字,你需要加倍,例如@"我的名字是"" Jon""" 表示字符串我的名字是" Jon"。逐字字符串文字 包含行分隔符也将在开头包含空格 这条线,所以我倾向于在白色空间的情况下不使用它们 事项。它们在您的源代码中包含XML或SQL非常方便 代码,和另一个典型的用途(它不需要行 separator)用于指定文件系统路径。
值得注意的是,它不会以任何方式影响字符串本身: 指定为逐字字符串文字的字符串与 一个字符串,指定为具有适当的普通字符串文字 逃跑。调试器有时会选择将字符串显示为 逐字字符串文字 - 这只是为了方便查看 字符串的内容,无需担心转义。
[作者:Jon Skeet]