2013-05-19 4 views
9

は、私が逐語的な文字列とは何ですか? ReSharperのから

var v = @"something"; 

逐語的文字列と呼ばれるVのものを作ることを知っています。これは何ですか?それを使用する一般的なシナリオは何ですか?

+3

http://msdn.microsoft.com/en-us/library/vstudio/ms228362.aspx – SLaks

+2

パスは、逐語的な文字列を使っている唯一の時間です。 *すべての文字列リテラルを逐語的な文字列に変換するResharperの勧告は、私には馬鹿げているようです。 –

+1

@CodyGray AFAIK、ReSharperは、文字列にバックスラッシュが含まれている場合にのみ、ツールとして提供します(それは示唆しません)。 – pascalhein

答えて

13

それは特別な文字が電子である必要はないことを意味しますあなたが特殊文字を期待し、無視するようにコンパイラに通知して以来。一般的な使用例は、接続文字列を指定するには、次のようになります。

string sqlServer = @"SERVER01\SQL"; 

バックスラッシュはエスケープ文字とみなされるであろう通常の使用ではなく、これは、完全に有効です。

14

逐語的な文字列では、エスケープシーケンス(改行の場合は"\n"など)は無視されます。これは、バックスラッシュを含む文字列を入力するのに役立ちます。

文字列は、例えば、複数行に跨って許可されている:

var s = @" 
line1 
line2"; 

あなたが持っていないので、あなたは改行で、あなたのソースコードでそれを入力したのと同じ方法で表示される文字列インデントを心配する、などの改行は

逐語的リテラル内の引用符を使用するには、ちょうどそれらを倍増:

@"This is a string with ""quotes""." 
+0

余計な説明をありがとう。 – Marc

関連する問題