{0},{1}等如何成为格式化字符串的标准?

Bra*_*don 4 .net string history

只是在开发历史中对此感到好奇......数组索引({0},{1}等等)的括号如何成为字符串格式的标准?

有什么特别的意义,或者80年代有人从空中挑选出来的东西?

Vic*_*let 5

实际上,早在80年代,格式化字符串标准就是printf格式字符串,例如%d整数或%s字符串,以及模糊的格式修饰符(例如%06d绘制一个整数并用零填充到左边,直到它达到六个字符).原因是C类型系统非常差,并且无法printf猜测它收到的数据是什么(它是一个指向字符串的指针?一个整数?一个浮点数),这使得有必要指定格式字符串中的参数类型.这种方法仍然存在

这种格式从C(和C++)转移到许多语言(Java,PHP,OCaml,Scilab ......)和几个工具(例如Firebug的console.log功能).

我最早看到的{0}格式是在21世纪初的C#中.到目前为止,我还没有在C#之外看到它.