C#声明跨越多行的字符串

Ben*_*Ben 12 c# string newline declare

我正在尝试创建一个像这样的字符串

string myStr = "CREATE TABLE myTable
(
id text,
name text
)";
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:http: //i.stack.imgur.com/o6MJK.png

这里发生了什么?

Oli*_*bes 25

通过在at符号(@)前面加上一个逐字字符串.正常的字符串文字不能跨越多行.

string myStr = @"CREATE TABLE myTable
(
    id text,
    name text
)";
Run Code Online (Sandbox Code Playgroud)

请注意,在逐字字符串(随a引入@)中,反斜杠(\)不再被解释为转义字符.这对正则表达式和文件路径很实用

string verbatimString = @"C:\Data\MyFile.txt";
string standardString = "C:\\Data\\MyFile.txt";
Run Code Online (Sandbox Code Playgroud)

双引号必须加倍才能现在转义

string verbatimString  = @"This is a double quote ("")";
string standardString  = "This is a double quote (\")";
Run Code Online (Sandbox Code Playgroud)

  • +1.伟大的指针,这使SQL中的正则表达式更容易... (2认同)

Oze*_*ich 7

string myStr = @"CREATE TABLE myTable
(
id text,
name text
)";
Run Code Online (Sandbox Code Playgroud)