C#用户输入中的转义字符

C#用户输入中的转义字符,c#,.net,C#,.net,可能重复: 我有一个小程序,希望用户能够在其中输入转义字符,如“\n\r”“\t”等。我是否必须对这些字符进行替换,或者是否有一种方法可以使其与用户输入的字符一起工作 当use在命令行中传递如下字符串(“这是一个\r\n测试”)时,它在程序中显示为\r\n。我可以替换它,但我很好奇,是否有一种方法可以让用户输入这些内容,而C程序无需我对其进行替换即可正确解释?我认为,用户可以直接输入这些内容,但用户需要知道如何实现这一点。您无法编写任何代码来实现这一点,因此您应该执行以下操作: input.R

可能重复:

我有一个小程序,希望用户能够在其中输入转义字符,如“\n\r”“\t”等。我是否必须对这些字符进行替换,或者是否有一种方法可以使其与用户输入的字符一起工作


当use在命令行中传递如下字符串(“这是一个\r\n测试”)时,它在程序中显示为\r\n。我可以替换它,但我很好奇,是否有一种方法可以让用户输入这些内容,而C程序无需我对其进行替换即可正确解释?

我认为,用户可以直接输入这些内容,但用户需要知道如何实现这一点。您无法编写任何代码来实现这一点,因此您应该执行以下操作:

input.Replace("\\r", "\r");
input.Replace("\\n", "\n");

只是为了确保。

您需要手动更换所有代码,例如:

text = text.Replace(@"\r\n", Environment.NewLine);

\n和\r由C#编译器识别,因此它们仅适用于C#代码。如果你想让你的程序处理这些字符,你需要解析用户的输入,并用适当的代码替换字符。他的问题是,“.NET framework是否包括一种像C#编译器那样自动替换转义字符的方法?”@zmbq:那是另一种方法。Bummer,希望有一种用户可以输入的方式。无论如何谢谢你!什么是\t的替换?必须转义\t字符,因此
\t
变成
\\t
,或者您可以按照Tim Schmelter的建议使用
@
限定符,这样就不需要转义“`”。