2
我只是想知道是否有可能結合字符串插值,它是在C#6.0和string.format中引入的?像這樣更聰明的想法?結合字符串插值和字符串格式
string fancyString = $"My FancyString was created at { DateTime.Now }" + " and I want to add some static with string.format like {0}";
我只是想知道是否有可能結合字符串插值,它是在C#6.0和string.format中引入的?像這樣更聰明的想法?結合字符串插值和字符串格式
string fancyString = $"My FancyString was created at { DateTime.Now }" + " and I want to add some static with string.format like {0}";
讓您遠離{0}
通過寫它作爲{{0}}
所以串插離開單幹。然後您可以將字符串傳遞到string.Format
以替換{0}
。
對於那些想知道爲什麼你要做到這一點,我能想象一個可能性,你想要做的某種形式的可重複使用的模板,如:
var urlTemplate = $"<a href='{BaseHref}/some/path/{{0}}'>{{1}}</a>";
var homeLink = string.Format(urlTemplate, "home.html", "Home");
var aboutLink = string.Format(urlTemplate, "about.html", "About Us");
當然,這個例子是過於簡單,以保證這樣的技術,但我可以想象,如果你有一個具有大量變量的模板,並且你只關心將一對夫婦從一個渲染模板更改爲下一個,那麼這個模板可以比你的模板中的{32}, {33}, {34}...
等更具可讀性。
*爲什麼*你想要這樣做?這樣做對於字符串插值不可能實現什麼? – Fabjan
你將如何準確使用它?將插入的字符串傳遞給'String.Format'? – kiziu
你打賭你可以使用stringformat插值後像這樣string.format(fancyString,SomethingToFillYour {0} With);但爲什麼你會想要這樣做? – Thorarins