今日看《老粱故事汇》,介绍日本已逝巨星高仓健,才初步对此人有所了解。老高一生演绎了许多经典的影幕形象,男主角都收获了真挚的爱情……可现实生活中,真实的老高,却一辈子只经历过一次婚姻,在离婚后终究不能从失败的婚姻中走出,最终孤老一生……所以,看事物,看人,不能光看表面,要有一双发现的眼睛,看到他的本质……
借此机会,讲一个C#中用于输出的最常见不过的语句的一个注意事项……
谈到Console.WriteLine();我想大多数人会想到占位符,诚然,占位符的使用,对于输出一段字符串,起了莫大的方便。但诸位知不知道,其实输出语句Console.WriteLine()的核心原理就是用到了占位符,且听我慢慢道来……
举例:Console.WriteLine("我叫{0},今天{1}岁了,我的工资是{2}元。", name, age , salary);这是最简单的对占位符的使用,我想大家都会用。但如果这样呢???????Console.WriteLine("我叫"+name,"今天3岁了");这样输出的话语句有问题吗???????
答案是没有问题!!!下面将介绍输出的原理:
Console.WriteLine();输出的都是第一个参数中的内容,从第二个参数开始,都是用来替换第一个参数中占位符的值。所以从第二个参数开始,要不要这个参数输出,就是要看第一个参数中有无相对应的占位符。
如Console.WriteLine("我叫"+name,"今天3岁了");第二个参数为"今天3岁了",所以会去第一个参数中寻找占位符,但第一个参数中没有占位符,所以第二个参数就不会被输出,所以最终输出的结果为“我叫XXX”。
同理,Console.WriteLine("HelloWorld");因为就只有第一个参数,所以输出第一个参数中的内容,但没有第二个参数,所以就不会寻找第一个参数中有无占位符,也不会再继续输出内容。
上述输出的核心原理也很巧妙地解释了C#语言中的占位符。Console.WriteLine("我叫{0},今天{1}岁了,我的工资是{2}元。",
name, age , salary);输出的都是第一个参数中的内容,从第二个参数开始,都是用来替换第一个参数中占位符的值。所以从第二个参数开始,要不要这个参数输出,就是要看第一个参数中有无相对应的占位符。
Console.WriteLine();有多个参数时,输出的都是第一个参数中的内容,从第二个参数开始,都是用来替换第一个参数中的占位符的值,所以从第二个参数开始,要不要输出,就要看第一个参数中有没有相关的占位符。注意,Console.WriteLine();中有几个逗号就算几个参