字符串格式自定义参数

问题描述:

是否有(简单/预定义)方式使用相同的string.format机制,但使用名称而不是数字?我想使用相同的格式化系统,但使其更加最终用户友好。现在,我的用户在从列表中选择要使用的参数后,将其放入{0} {1:Minutes},但一旦您开始使用更多的说2参数,它就会变得非常难以理解和混淆。字符串格式自定义参数

例如想做{Now}{Now:Minutes}并将它与DateTime.Now取代了{Now}DateTime.Now.Minutes使用IFormattable的{Now:Minutes}。这样用户就不再需要从列表中选择项目,而只需键入/插入参数的名称。

+2

只需使用[与string.replace]推出自己的方法(HTTPS:/ /msdn.microsoft.com/en-us/library/fk49wtc1%28v=vs.110%29.aspx) – DavidG 2015-02-24 12:05:09

+0

看起来这里的一些答案http://*.com/questions/21311509/string-format-descriptive-text,尤其是[这一个](http://*.com/a/21312156/451540) – thumbmunkeys 2015-02-24 12:05:43

+0

[This] (http://humanizr.net/)可能对你有用。 – 2015-02-24 12:24:12

你可以使用

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

在以前的版本看