字符串格式自定义参数

string format custom parameter

是否有 (simple/predefined) 方法来使用相同的 string.format 机制但使用名称而不是数字?我想使用相同的格式化系统,但使其对最终用户更友好。现在,我的用户在selecting他们想从列表中使用的参数后输入{0} {1:Minutes},但是一旦你开始使用更多然后说2个参数,它就会变得非常不可读和混乱。

例如,想要执行 {Now}{Now:Minutes},并使用 [=13] 的 IFormattable 将 {Now}DateTime.Now.Minutes 替换为 DateTime.Now =].这样用户就不再需要 select 列表中的项目,而只需要 type/insert 参数名称。

中你可以使用

string result = $"Time: {DateTime.Now}";

关于以前的版本,请参阅

  • How to replace tokens on a string template?