可能重复:
我可以将C#字符串值转换为转义字符串文字吗
如何打印字符串(通过Console.WriteLine()),以便逐字打印字符串中可能存在的任何/所有转义序列?
示例:
string s = "This rn has t special \ characters.";
Console.WriteLine(s);
/* Output (I don't want this)
This
has special characters.
*/
我希望输出为:
This rn has t special \ characters.
请注意,在我的应用程序中,我从第三方接收字符串(其中包含转义序列),也就是说,如果我自己创建字符串,我知道我可以只执行
string s = @"This rn has t special \ characters.";
唯一的方法是自己解码转义序列,并将它们作为文本条目放回字符串中。这需要某种转换函数。例如
string EscapeIt(string value) {
var builder = new StringBuilder();
foreach (var cur in value) {
switch (cur) {
case 't':
builder.Append(@"t");
break;
case 'r':
builder.Append(@"r");
break;
case 'n':
builder.Append(@"n");
break;
// etc ...
default:
builder.Append(cur);
break;
}
}
return builder.ToString();
}