我发现,虽然将字符串插值应用于我现有代码库的字符串Format调用确实非常好,但考虑到通常首选的列限制,字符串对于单行来说很快就会变得太长。尤其是当要插入的表达式很复杂时。使用格式字符串,您可以获得一个可以分成多行的变量列表。
var str = string.Format("some text {0} more text {1}",
obj1.property,
obj2.property);
有人有打破这些界限的偏爱方法吗?
我想你可以做这样的事情:
var str = $"some text { obj1.property }" +
" more text { obj2.property };
1
以我的经验,最好避免插值复杂的表达式。而是在这种情况下提取一个变量。如果这样做,并且在字符串中的换行符分开的地方,通常就可以了。
—
markijbema
我对这个问题感到困惑。我只想要一条
—
上校恐慌
$""
像这样的多行@""
Panic上校,问题是询问如何拆分较长的内插线,以便在不将换行符引入字符串文字本身的情况下,不违反列宽要求。$ @“”很棒,但是引入的任何换行符都将在字符串文字中。
—
耶利米·高迪
危险:
—
-bacar,
$"some text { obj1.property }" + " more text { obj2.property }";
没有按照您认为的做。只有该表达式的前半部分是插值字符串;然后将其与非插值字符串文字连接起来" more text { obj2.property }"
为了支持\ t \ r \ n的$ @看到问题stackoverflow.com/questions/51991713/...
—
M.Hassan