C# - 如何将转义字符串转换为文字字符串? [复制]

2023-12-23

可能的重复:
我可以在运行时展开包含 C# 文字表达式的字符串吗 https://stackoverflow.com/questions/3298075/can-i-expand-a-string-that-contains-c-literal-expressions-at-runtime

如何在运行时转换从文件读取的转义字符串,例如

"Line1\nLine2"

转化为它的字面值:

Line1
Line2

令人惊讶的是我找到了一个相反的例子here https://stackoverflow.com/questions/323640/can-i-convert-a-c-string-value-to-an-escaped-string-literal使用 CSharpCodeProvider(),这似乎是更困难的转换。为了做相反的事情,我似乎需要生成代码来定义一个类并在内存中编译它或执行一系列 .Replace() 调用,希望我不会错过任何转义序列。


CSharpCodeProvider 听起来肯定可以解决这个问题。但是,在使用之前我会问两个问题:是否需要exactlyC# 字符串文字语法,输入文件是否可信?

CSharpCodeProvider 显然提供了 C# 编译器的准确语法,但在我看来,某人通过此途径将一些代码注入到您的进程中相对容易。

Javascript 字符串文字语法与 C# 字符串文字语法非常接近,并且 .NET 包含JavaScript序列化器 http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx类可以解析此类字符串文字,而无需将其作为代码注入到正在运行的进程中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# - 如何将转义字符串转换为文字字符串? [复制] 的相关文章

随机推荐