【发布时间】:2010-11-09 04:08:54
【问题描述】:
有没有一种简单的方法可以在 C# 中创建多行字符串文字?
这是我现在拥有的:
string query = "SELECT foo, bar"
+ " FROM table"
+ " WHERE id = 42";
我知道 PHP 有
<<<BLOCK
BLOCK;
C# 有类似的东西吗?
【问题讨论】:
-
您的示例中没有换行符。你想要它们吗?
-
没有。出于可见性/代码清洁的原因,我只想要多行。
-
在这种情况下,逐字字符串包含换行符。如果你愿意,你可以使用@"...".Replace(Environment.NewLine,"")。
-
您应该考虑将
42绑定为参数,特别是如果它来自用户输入,以避免SQL注入。 -
@weiqure:Environment.NewLine 不一定反映字符串中的换行符,因为换行符是在源代码中出现的。因此,即使每一行上的换行符都与目标系统上的 Environment.NewLine 所说的不同,也可以编写代码!