C#中无法识别的转义序列

时间:2015-04-28 13:22:18

标签: c# string parsing

我的数据库中有这样的字符串:

  

“\ 12 stack”

  

“\ 11 stack + \ 12 overflow”

当我尝试解析并处理这些字符串时,我会为每个“\”字符得到这个:

  

无法识别的转义序列

我知道当我在字符串前添加“@”字符时,问题就解决了。 例如:

string mystring = @"\11 stack + \12 overflow";

但是当我检索这些字符串时,如何以编程方式执行此操作?或者还有其他解决方法吗?感谢。

2 个答案:

答案 0 :(得分:3)

blackslash是一个用于构建字符串的特殊字符。要表示单个黑色标记,您需要使用“\\”:

"\\11 stack + \\12 overflow"

答案 1 :(得分:2)

string是一堆char。 如果在字符串中输入反斜杠,即" \ n",则编译器会将其转换为单个字符,表示“新行”字符'字符。

@"\n"通知编译器他需要为每个字符串处理此字符串(意思是' \'与' n'连接)

如果以编程方式获得包含空间字符的字符串,则不必担心它,因为它已经表示为单个字符。