【发布时间】:2015-02-24 11:59:56
【问题描述】:
是否有(简单/预定义)方法来使用相同的string.format 机制但使用名称而不是数字?我想使用相同的格式化系统,但让它对最终用户更友好。现在我的用户在从列表中选择了他们想要使用的参数后输入{0} {1:Minutes},但是一旦你开始使用更多而不是说2个参数,它就会变得非常不可读和混乱。
例如,想要执行{Now} 和{Now:Minutes} 并将其替换为DateTime.Now 用于{Now} 和DateTime.Now.Minutes,使用{Now:Minutes} 的IFormattable。这样用户就不再需要从列表中选择项目,而只需键入/插入参数的名称。
【问题讨论】:
-
使用string.Replace滚动您自己的方法
-
看这里的一些答案stackoverflow.com/questions/21311509/…,尤其是this one
-
This 可能对你有用。
-
虽然除非您使用 VS2015 CTP,否则 C# 可能不会立即对您有用,但 C# 正在获得字符串插值,这应该会为您提供未来所需的确切内容。您可以在blogs.msdn.com/b/csharpfaq/archive/2014/11/20/… 阅读有关它的信息
标签: c# formatting string-formatting string.format