【发布时间】:2011-11-02 22:28:21
【问题描述】:
我喜欢在 c# 中使用 @"strings",尤其是当我有很多多行文本时。唯一的烦恼是我的代码格式在这样做时会变得笨拙,因为第二行和更大的行被完全推到左边,而不是使用我格式精美的代码的缩进。我知道这是设计使然,但是是否有一些选项/黑客方法可以让这些行缩进,而不在输出中添加实际的制表符/空格?
添加示例:
var MyString = @" this is
a multi-line string
in c#.";
我的变量声明缩进到“正确”的深度,但字符串中的第二行和后面的行被推到左边距 - 所以代码有点难看。您可以在第 2 行和第 3 行的开头添加制表符,但字符串本身将包含这些制表符...有意义吗?
【问题讨论】:
-
我通常做的是在自己的行上开始字符串(即
@之前的换行符),所以至少它不在右边然后突然在左边。我知道这不是您想要的解决方案。 -
是的,我也经常这样做。这真的不是什么大问题,但我认为这将是一个有趣的问题。
-
真正的问题应该是,如果它使您的源代码更好看,是否值得额外处理字符串?
-
编译时修复将是最佳的,但这会要求很多;)
-
我被 Python 的
textwrap.dedent()函数宠坏了,在我搜索 C# 等效项时发现了这个问题。
标签: c# .net string multiline verbatim-string