概述
接回前文,关于输出中的{0}
它有个准确的名字——占位符(对标c语言中的%s%d等格式转换符)
占位符用大括号括起来。里边标上数字,表示是第几个占位符。如果输出时使用复数个占位符,里面的数字注意是从0开始的,不是从1开始的。例如
Console.WriteLine("零基础学习{0}编程","C#"}。它会输出“零基础学习C#编程”。
Console.WriteLine("零基础学习{0}编程,{1}","C#","乌拉"}。它会输出“零基础学习C#编程,乌拉
如果这样
就会报错
相类似的,当你在输出字符串中定义多个占位符,而后面所跟的实际取代值少于其定义的,也会报错
结果
但笔者在之前实验过当第一个占位符写出{00000},并不会报错,当你不管填多少个零,只要它的所表示的是第一个替换位置,那么便不会有问题。而一旦大于0的数字填上去,则会严格遵照位置,一一替换。也可以在输出字符串时,将数字大的占位符写在数字小的前面,这个虽说感觉鸡肋,但着实比"%d"好。
输出
值得注意的是,如果你需要输出{}符号时,在双引号,即字符串中直接输出将会报错
需要对其特殊处理化
将它{ }引出来才能正确输出
而另一个符号同样需要麻烦一点,那就是" "双引号
可以输出的表示有
用 " 取代单独的 "
用@写于整个输出字符串前,"" 取代 " 使用
结果一致为
但鱼和熊掌不可兼得,会报错
我们继续深入,字符串的输出
相信学过Java甚至c语言的同志都不会陌生于用加号键组合字符串并输出
这是简单朴实的一种输出方法,同样在从c#中运用得到
我们则可以学习字符串格式化输出,string.Format
同样需要用到占位符取代字符,将结果赋值给result,再通过WriteLine输出。这样是不是多次一举呢?
当然不是,String.Format和WriteLine都遵守同样的格式化规则。格式化的格式如下:
"####{ N [, M ][: formatString ]}", arg1, ... argN
字母解释:
N是你需要替换的字符有多少个,{}中的是如上文所说
M是表示格式化后的参数所占的宽度,如果M是负数,那么格式化后的值就是左对齐的,如果M是正数,那么格式化后的值是右对齐的。一般用不上
:formatString,通常象X0这样的格式。X是格式化标识符,0是精度标识符。如果没有它,那么就用参数N对应的替换值的ToString方法来格式化
值得关注的是E、F、N
int i=123456;
Console.WriteLine("{0:E5}", i); //输出 1.23456E+005,为科学计数格式
Console.WriteLine("{0:F5}", i); // 输出 123456.00000,为小数后的精度为5的格式
Console.WriteLine("{0:N}", i); //输出 123,456.00,为以千为单位,将数字分割。
有些迷的是 D
分别输出为
了解更多
C# 格式化字符串 - Avatarx - 博客园 (cnblogs.com)
最后
以上就是呆萌钢笔为你收集整理的零基础学习c#-2 字符串输出的全部内容,希望文章能够帮你解决零基础学习c#-2 字符串输出所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复