关于C#占位符的疑问

            int a, b;
            a = 10;
            b = 30;    
            Console.WriteLine("第一个数是:{0},第二个数是:{1}", a, b);
            Console.WriteLine("第一个数是:{0},第二个数是:{1}", b, a);
            Console.WriteLine("第一个数是:{1},第二个数是:{0}", a, b);
            Console.ReadKey();

请问   
Console.WriteLine("第一个数是:{0},第二个数是:{1}", b, a);
Console.WriteLine("第一个数是:{1},第二个数是:{0}", a, b);

两行在控制台打印出来的结果一样,但是有什么本质的区别呢?

 

第一个分别调用的是数组【a,b】的第一个值、第二个值,标题顺序是“第一个值”、“第二个值”,自然显示的是:第一个值为a,第二个值为b
第二个分别调用的是数组【b,a】的第二个值、第一个值,标题顺序是“第一个值”、“第二个值”,自然显示的是:第一个值为a,第二个值为b
本质不就是朝三暮四、负负得正的事嘛
这种问题我都回答,我真是闲的蛋疼