C#中的多行字符串
有没有一种简单的方法在C#中创建多行字符串文字?
这是我现在拥有的:
string query = "SELECT foo, bar"
+ " FROM table"
+ " WHERE id = 42";
我知道PHP有
<<<BLOCK
BLOCK;
C#有类似的东西吗?
你可以在string
前面使用@
符号来形成一个逐字字符串文字:
string query = @"SELECT foo, bar
FROM table
WHERE id = 42";
在使用此方法时,您也不必转义特殊字符,但双引号除外,如Jon Skeet的答案中所示。
它在C#中被称为逐字字符串文字,它只是将@放在文字之前的问题。 这不仅允许多行,而且它也关闭逃逸。 举例来说,你可以这样做:
string query = @"SELECT foo, bar
FROM table
WHERE name = 'ab'";
唯一的转义就是如果你想要一个双引号,你必须添加一个额外的双引号符号:
string quote = @"Jon said, ""This will work,"" - and it did!";
另一个需要注意的是在string.Format中使用字符串文字。 在这种情况下,您需要转义大括号/括号'{'和'}'。
// this would give a format exception
string.Format(@"<script> function test(x)
{ return x * {0} } </script>", aMagicValue)
// this contrived example would work
string.Format(@"<script> function test(x)
{{ return x * {0} }} </script>", aMagicValue)
链接地址: http://www.djcxy.com/p/21191.html
上一篇: Multiline String Literal in C#
下一篇: Html.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction