VS2008非法读取字符串文本
本文关键字:文本 字符串 读取 非法 VS2008 | 更新日期: 2023-09-27 18:18:10
我声明了一串特殊字符。
var SpecialCharSequence = "',!,#,$,%,&,',(,),*,+,-,.,',/,:,;,<,=,>,?,@,[,],^,_,{,|,},~,";
为什么反斜杠
会报错?Unrecognized escape sequence
当它已经在引号中。
这是因为你的字符串包含','是一个转义字符。
用''
代替'
var SpecialCharSequence = "',!,#,$,%,&,',(,),*,+,-,.,'',/,:,;,<,=,>,?,@,[,],^,_,{,|,},~,";
像这样声明:
var SpecialCharSequence = @"',!,#,$,%,&,',(,),*,+,-,.,',/,:,;,<,=,>,?,@,[,],^,_,{,|,},~,";
是,
'
会产生一个转义序列,也就是字符串中的转义序列。将其转换为''
,它将工作。'
是一个特殊的符号,要表示文字'
,需要两个符号。
'
是转义字符。如果您想将string
与单个'
一起使用,那么在string
的开头添加@
,使其成为literal string
。否则,您将需要用第二个''
转义单个'
。
var SpecialCharSequence = @"',!,#,$,%,&,',(,),*,+,-,.,',/,:,;,<,=,>,?,@,[,],^,_,{,|,},~,";
因为反斜杠表示它将与下一个字符组合为字符转义。
就像't表示制表符一样,'r表示返回。
您可以使用'来表示反斜杠,也可以使用逐字字符串(通过在字符串之前添加@),如下所示:
var SpecialCharSequence = @"',!,#,$,%,&,',(,),*,+,-,.,',/,:,;,<,=,>,?,@,[,],^,_,{,|,},~,";
在逐字字符串中,你告诉编译器你没有在这个字符串中使用字符转义…