Console.WriteLine占位符的小知识点-创新互联

Console.WriteLine方法应该是很多初学者接触的一个方法了。在该方法的帮助下,你可以很轻松的完成你的第一个C#控制台应用程序:Hello World!

创新互联建站主打移动网站、成都网站制作、做网站、外贸营销网站建设、网站改版、网络推广、网站维护、域名申请、等互联网信息服务,为各行业提供服务。在技术实力的保障下,我们为客户承诺稳定,放心的服务,根据网站的内容与功能再决定采用什么样的设计。最后,要实现符合网站需求的内容、功能与设计,我们还会规划稳定安全的技术方案做保障。

Console.WriteLine占位符的小知识点

而实际上Console.WriteLine方法有19个重载。只传一个字符串只是其中一个用法。

Console.WriteLine占位符的小知识点

这些重载不是我今天想讨论的重点。我想说说该方法中占位符使用。

你很可能知道下面的用法:

             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();

编译,成功。然后运行,报了异常:

Console.WriteLine占位符的小知识点

    查看异常信息:

        索引(从零开始)必须大于或等于0,且小于参数列表的大小。

  什么意思?就是说,大括号内的索引都是从零开始计数的,它是在0和参数个数的值之间取值的。所以无论你在大括号内写小于0的索引,或超出参数个数的索引,都会抛出一个FormatException的异常。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:Console.WriteLine占位符的小知识点-创新互联
转载来于:http://pwwzsj.com/article/iehcc.html