C# 字符串格式自定义参数

C# 字符串格式自定义参数,c#,formatting,string-formatting,string.format,c#-6.0,C#,Formatting,String Formatting,String.format,C# 6.0,是否有(简单/预定义)的方法使用相同的string.format机制,但使用名称而不是数字?我想使用相同的格式系统,但使其更方便最终用户。现在,我的用户在从列表中选择他们想要使用的参数后,正在输入{0}{1:Minutes},但是一旦开始使用超过2个参数,就会变得非常不可读和混乱 例如,希望执行{Now}和{Now:Minutes}并将其替换为DateTime。Now For{Now}和DateTime.Now.Minutes使用{Now:Minutes}的IFormattable。这样用户就不

是否有(简单/预定义)的方法使用相同的
string.format
机制,但使用名称而不是数字?我想使用相同的格式系统,但使其更方便最终用户。现在,我的用户在从列表中选择他们想要使用的参数后,正在输入
{0}{1:Minutes}
,但是一旦开始使用超过2个参数,就会变得非常不可读和混乱

例如,希望执行
{Now}
{Now:Minutes}
并将其替换为DateTime。Now For
{Now}
DateTime.Now.Minutes
使用
{Now:Minutes}
的IFormattable。这样用户就不再需要从列表中选择项目,而只需键入/插入参数的名称。

在中,您可以使用

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

在以前的版本中,请参见


只需使用滚动您自己的方法,看看这里的一些答案,尤其可能对您有用。虽然除非您使用VS2015 CTP,否则可能不会立即对您有用,但C#正在获得字符串插值,这将为您提供未来所需的内容。你可以在可能的副本上阅读