2011-12-19 10 views
2

特殊文字の文字列を宣言します。VS2008文字列テキストの不正な読み取り

var SpecialCharSequence = "',!,#,$,%,&,',(,),*,+,-,.,\,/,:,;,<,=,>,?,@,[,],^,_,{,|,},~,"; 

なぜそのが

Unrecognized escape sequence  

とき、すでにその引用符でバックスラッシュのエラーを与えます。

+1

'SpecialCharSequence = @" '答えのための答えを – V4Vendetta

答えて

4

あなたの文字列にはエスケープ文字\が含まれているためです。

\\\に置き換えます。あなたの文字列を持っているエスケープシーケンスで

var SpecialCharSequence = "',!,#,$,%,&,',(,),*,+,-,.,\\,/,:,;,<,=,>,?,@,[,],^,_,{,|,},~,"; 
0

はい、

\結果、。 \\に変換すれば正常に動作します。 \は特別な記号で、リテラル\を表すには、それらの2倍が必要です。

+0

おかげで答えを – joshua

2

は次のように宣言します(逐語的なリテラルと@)

var SpecialCharSequence = @"',!,#,$,%,&,',(,),*,+,-,.,\,/,:,;,<,=,>,?,@,[,],^,_,{,|,},~,"; 
+0

おかげ – joshua

0

\は、エスケープ文字です。 stringに1つの\を使用する場合は、stringの先頭に@を追加して、literal stringにします。それ以外の場合は、\の2つ目を\\でエスケープする必要があります。

var SpecialCharSequence = @"',!,#,$,%,&,',(,),*,+,-,.,\,/,:,;,<,=,>,?,@,[,],^,_,{,|,},~,";

+0

KnightThanks – joshua

0

後方スラッシュは、それが次の文字との組み合わせで文字エスケープことを意味しますので。

\ tと同様に、\ rはリターンを意味します。

あなたはバックスラッシュを意味する\使用することができますか、あなたは(文字列の前に@を追加することによって)逐語的文字列を使用することができ、このような

:逐語的文字列で

var SpecialCharSequence = @"',!,#,$,%,&,',(,),*,+,-,.,\,/,:,;,<,=,>,?,@,[,],^,_,{,|,},~,"; 

、あなたが言っていますあなたは文字を使用していないコンパイラは

+0

感謝の答えのために使用してみてください...この文字列にエスケープ – joshua