我正在实现一个编译器,我需要将源代码文件中编写的转义字符文字转换为实际值。
例如,我可能会有一行源代码char = '\\'。然后我解析它并得到字符串"'\\'",我需要将其转换为实际的char '\\'。
char.Parse并且char.TryParse当以转义序列形式解析char时,两者均失败。例如:
char.Parse(@"\\");
Run Code Online (Sandbox Code Playgroud)
将抛出“字符串必须正好一个字符长”。
有什么方法可以将列表中的所有内容都解析为一个字符(忽略那些太大以适合UTF16字符的字符)。
将@使其成为一个逐字字符串。删除它,\并将其作为下一个的转义字符\。
@"\\".Length // 2
"\\".Length // 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28 次 |
| 最近记录: |