字串對齊 - string template c#



如何將逐字字符串與插值一起使用? (1)

您可以將 $@ 前綴都應用於同一字符串:

string s = [email protected]"Result...
Adding ""{x}"" and {this.Y()} to foobar:
{x.GetLog()}";

自從 在C#6 引入 以來, 內插逐字字符串 必須以標記 [email protected] 開頭 但是從C#8開始,您可以使用 [email protected]@$

在C#6中,有一個新功能:內插字符串。

這些使您可以將表達式直接放入代碼中,而不是依賴索引:

string s = string.Format("Adding \"{0}\" and {1} to foobar.", x, this.Y());

成為:

string s = $"Adding \"{x}\" and {this.Y()} to foobar.";

但是,我們使用逐字字符串(主要是SQL語句)在多行中有很多字符串,如下所示:

string s = string.Format(@"Result...
Adding ""{0}"" and {1} to foobar:
{2}", x, this.Y(), x.GetLog());

將它們恢復為常規字符串似乎很麻煩:

string s = "Result...\r\n" +
$"Adding \"{x}\" and {this.Y()} to foobar:\r\n" +
x.GetLog().ToString();

如何同時使用逐字和內插字符串?





verbatim-string