web-dev-qa-db-ja.com

C#複数行にまたがる文字列を宣言します

このような文字列を作成しようとしています

string myStr = "CREATE TABLE myTable
(
id text,
name text
)";

しかし、エラーが発生します: http://i.stack.imgur.com/o6MJK.png

ここで何が起こっているのですか?

12
Ben

アットマーク@)を前に付けて、逐語的な文字列を作成します。通常の文字列リテラルは複数行にまたがることはできません。

string myStr = @"CREATE TABLE myTable
(
    id text,
    name text
)";

逐語的な文字列(@で導入)内では、円記号(\)はエスケープ文字として解釈されなくなったことに注意してください。これは 正規表現 およびファイルパスに実用的です

string verbatimString = @"C:\Data\MyFile.txt";
string standardString = "C:\\Data\\MyFile.txt";

今すぐエスケープするには、二重引用符を2倍にする必要があります

string verbatimString  = @"This is a double quote ("")";
string standardString  = "This is a double quote (\")";
string myStr = @"CREATE TABLE myTable
(
id text,
name text
)";
7
Ozerich

文字列の前に@記号を使用します。

2
Petur Subev