c# - String.Format参数顺序烦恼

C似乎迫使您以字符串的形式显式地命名每个参数的索引,这真的很烦人。格式化,如果您想在某个地方添加另一个参数,您要么重新索引字符串,要么将新参数放在末尾。
有没有办法让C自动完成这项工作?
例如(我知道这是毫无意义的学究,这只是一个例子:)
我从以下开始:

String.Format("{0} {1} {1} {2} {3}", a, b, c, d)

如果要在开头添加参数,可以执行以下操作之一:
String.Format("{4} {0} {1} {1} {2} {3}", a, b, c, d, e)
String.Format("{0} {1} {2} {2} {3} {4}", e, a, b, c, d)

例如,在Delphi中,我可以这样做:
String.Format("{} {} {} {2} {} {}", e, a, b, c, d)


最佳答案:

好吧,C中没有什么可以自动为你做的。你总是可以写自己的方法来完成它,但坦率地说,我发现它不太可读。为了理解你的最后一句话要比前一句话做的要多得多。当你点击{2}时,你必须在精神上回溯并用{3}替换上一个项目,以跳过{2}等。
就我个人而言,我更喜欢代码,它需要更长的时间来输入,但很容易阅读。