【发布时间】:2019-07-27 18:25:34
【问题描述】:
我发现自己在我的代码中经常使用 C# 6.0 插值字符串连接样式$"Hello {name} {lastName}!"。
我了解,在引入此功能时,它需要单独的语法才能不破坏任何先前包含 {} 符号的字符串。但是,在创建新项目时,我不介意在极少数情况下必须编写 {{ 或 }},因为我需要字符串中的实际符号。当然,要求添加额外的$ 并不多,但是当我发现自己对大部分字符串都这样做时,我宁愿尽可能将其省略。
我希望 "Hello {name} {lastName}!" 的结果是 "Hello John Doe" just as $"Hello {name} {lastName}!" 今天做的。
如何使编译器默认所有字符串都被视为插值字符串?
【问题讨论】:
-
我假设不会,就像
moo(true)不会做与if(true)一样的事情。 -
并立即让您的代码在您将来发布包含字符串的示例时无法识别,例如堆栈溢出并寻求帮助?或者对于任何其他开发人员......
-
moo(true) 赢得胜利
-
我能想到的唯一其他选择是某种扩展,当您打开带有
"的字符串时,它可以作为宏自动为$添加前缀。我不知道有这样的事情,但我想有可能创造出来。 -
@John 我会喜欢这样的宏!您能否指出如何在 Visual Studio 中创建这样的宏?
标签: c# .net string concatenation c#-6.0