以转义序列形式解析字符

Yai*_*adt 0 c#

我正在实现一个编译器,我需要将源代码文件中编写的转义字符文字转换为实际值。

例如,我可能会有一行源代码char = '\\'。然后我解析它并得到字符串"'\\'",我需要将其转换为实际的char '\\'

char.Parse并且char.TryParse当以转义序列形式解析char时,两者均失败。例如:

char.Parse(@"\\");
Run Code Online (Sandbox Code Playgroud)

将抛出“字符串必须正好一个字符长”。

有什么方法可以将列表中的所有内容都解析为一个字符(忽略那些太大以适合UTF16字符的字符)。

Dan*_*ite 5

@使其成为一个逐字字符串。删除它,\并将其作为下一个的转义字符\

@"\\".Length // 2
"\\".Length // 1
Run Code Online (Sandbox Code Playgroud)