11

ReSharperから、私はそれを知っています

var v = @"something";

v をverbatim stringと呼ばれるものにします。これは何ですか?また、それを使用する一般的なシナリオは何ですか?

4

2 に答える 2

17

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

文字列は、複数行にまたがることもできます。次に例を示します。

var s = @"
line1
line2";

文字列は、ソース コードに入力したのと同じように改行されて表示されるため、インデントや改行などについて心配する必要はありません。

そのままのリテラル内で引用符を使用するには、二重にするだけです。

@"This is a string with ""quotes""."
于 2013-05-19T13:34:45.883 に答える
13

これは、コンパイラに特殊文字を期待して無視するように通知したため、特殊文字をエスケープする必要がないことを意味します。一般的な使用例は、接続文字列を指定することです。

string sqlServer = @"SERVER01\SQL"; 

バックスラッシュがエスケープ文字と見なされる通常の使用とは対照的に、これは完全に有効です。

于 2013-05-19T13:34:49.487 に答える