在C#中是否有字符串的heredoc表示法,最好是我不必转义任何(包括双引号,这是逐字字符串中的怪癖)?
答案 0 :(得分:57)
正如其他人所说,没有。
我个人首先会避免创建它们 - 我会使用嵌入式资源。它们非常容易使用,如果你有一个实用工具方法从调用程序集中加载一个命名的嵌入式资源作为字符串(可能假设是UTF-8编码),则意味着:
答案 1 :(得分:40)
即使它不支持HEREDOC,你仍然可以使用Verbatim字符串执行以下操作:
string miniTemplate = @"
Hello ""{0}"",
Your friend {1} sent you this message:
{2}
That's all!";
string populatedTemplate = String.Format(miniTemplate, "Fred", "Jack", "HelloWorld!");
System.Console.WriteLine(populatedTemplate);
答案 2 :(得分:9)
不,C#中没有“HEREDOC”样式字符串文字。
C#只有两种类型的字符串文字:
@
- 引用:doublequotes需要通过加倍来转义字符串文字属于
string
类型,可以用两种形式编写,引用和@
- 引用。
答案 3 :(得分:0)
有关{strong> Heredoc 的等效参考书,提供了不同的编程语言,网址为Rosettacode Wiki