零基础学习c#-2 字符串输出

  • Post author:
  • Post category:其他


接回前文,关于输出中的{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)



版权声明:本文为m0_55746013原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。