Console.WriteLine占位符的小知识点
Console.WriteLine方法应该是很多初学者接触的一个方法了。在该方法的帮助下,你可以很轻松的完成你的第一个C#控制台应用程序:Hello World!
公司主营业务:成都做网站、成都网站建设、成都外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出衡南免费做网站回馈大家。
而实际上Console.WriteLine方法有19个重载。只传一个字符串只是其中一个用法。
这些重载不是我今天想讨论的重点。我想说说该方法中占位符使用。
你很可能知道下面的用法:
int a = 5;
Console.WriteLine("The value of a is {0}.",a);
输出的结果为:
The value of a is 5.
在这里{0}是一个占位符。大括号内的数字是后面参数列表的索引(索引从0开始)。
尝试一下下面的代码:
int a = 5;
int b = 6;
int c = 7;
Console.WriteLine("The value is {0} {2}", a, b, c);
Console.ReadKey();
输出结果是:
The value of a is 5 7
可以看到即便你写出了一个参数(如b),是否输出时无关紧要的。对上面的代码在做一些改动,如下:
int a = 5;
int b = 6;
int c = 7;
Console.WriteLine("The value is {2}{1}{2}{0}{2}", a, b, c);
Console.ReadKey();
输出结果为:
The value is 76757
由此结果可以得出当你的参数位置确定之后,其索引也是确定的。{2}对应的就是C的值,而{0}对应永远是第一个参数(在此为a),而与你在字符串中对应占位符的位置是没有关系的。大括号中的索引选中了那个参数,输出的就是哪个参数。
再次改动上面的代码:
int a = 5;
int b = 6;
int c = 7;
Console.WriteLine("The value is {3}", a, b, c);
Console.ReadKey();
编译,成功。然后运行,报了异常:
查看异常信息:
索引(从零开始)必须大于或等于0,且小于参数列表的大小。
什么意思?就是说,大括号内的索引都是从零开始计数的,它是在0和参数个数的值之间取值的。所以无论你在大括号内写小于0的索引,或超出参数个数的索引,都会抛出一个FormatException的异常。
文章标题:Console.WriteLine占位符的小知识点
当前URL:http://pwwzsj.com/article/ippcih.html