Sin*_*atr 0 c# code-formatting string-interpolation c#-6.0
一个例子:
var a = $"Some value 1: {b1:0.00}\nSome value 2: {b2}\nSome value 3: {b3:0.00000}\nSome value 4: {b4:0.00}\nSome value 5: {b6:0.0}\nSome value 7: {b7:0.000000000}";
Run Code Online (Sandbox Code Playgroud)
这有点难以阅读.
我能做到
var a = $"Some value 1: {b1:0.00}\n" +
$"Some value 2: {b2}\n" +
$"Some value 3: {b3:0.00000}\n" +
$"Some value 4: {b4:0.00}\n" +
$"Some value 5: {b6:0.0}\n" +
$"Some value 7: {b7:0.000000000}";
Run Code Online (Sandbox Code Playgroud)
但是这里有一条评论说什么这将是多次调用string.Format,我认为它会(不知道如何检查它,IL对我来说是一个黑盒子).
问题:可以吗?拆分长插值字符串有哪些其他选项?
这将是对string.Format的多次调用,我认为它会
你是对的.你还没有说你为什么关心.为什么要避免这种情况?
可以吗?
我很好.
拆分长插值字符串有哪些其他选项?
我会使用逐字插值字符串.这将很好地解决您的问题.
看到
(由于这是你在问题中提到的链接,我不是100%明确你提出这个问题的原因,因为你已经阅读了一个建议得到一个好答案的页面.)
我不喜欢$ @ idea,它比长串更糟糕
你可能早点说过.
不能通过重新格式化来源意外损坏?
可以通过更改源来更改所有代码.
拆分长插值字符串有哪些其他选项?
不要首先插入.使字符串成为资源,使类负责获取格式化的资源字符串,并隐藏如何在类的方法内格式化字符串的实现细节.