有什么方法可以通过名称而不是C#中的位置来格式化字符串?
在python中,我可以执行类似以下示例的操作(从这里偷偷地偷了):
>>> print '%(language)s has %(#)03d quote types.' % \ {'language': "Python", "#": 2} Python has 002 quote types.
在C#中有什么方法可以做到这一点?例如说:
String.Format("{some_variable}: {some_other_variable}", ...);
能够使用变量名来做到这一点会很好,但是字典也是可以接受的。
没有内置方法可以处理此问题。
这是一种方法
string myString = "{foo} is {bar} and {yadi} is {yada}".Inject(o);
这是另一个
Status.Text = "{UserName} last logged in at {LastLoginDate}".FormatWith(user);
部分基于以上两个方面的第三种改进方法,来自Phil Haack