今天在阅读《WPF程序设计指南》的时候,发现了其中有一处代码是这样的:
txt.Text = String.Format("{0}/n0x{0:X2}", (int)scroll.Value);
只有一个object值((int)scro.value),可是却出现了两个占位符(这样描述可能不正确),而且输出之后可以显示两个值,并有没有报异常。所以我又做了如下的实验:
Console.WriteLine(string.Format("{0}/n{0:X2}/n{1}/n{1:x2}", 16,19));
Console.ReadKey();
输出结果是这样的:
16
10
19
13
原来后一个占位符可以把前一个占位符的值转换为16进制,真是太神奇了!而且‘x’后的数字可以控制位数。学了这么长时间的C#,从来不知道这个语法。