C#中Console.Write()和Console.WriteLine()的区别

区别一:允许的参数个数不同

   1 Console.Write(); ,至少得有1个参数;

     1 Console.WriteLine(); ,可以无参数,若无参数,输出空行1,所以,此法可以用作换行。

区别二:是否换行不同

   1 Console.Write() ,在最后位置不换行;

   1 Console.WriteLine() ,在最后位置换行。这个所谓换行,实际上是默认是回车+换行,可以更改。。

 C#代码验证:

新建一个控制台程序,代码如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace ConsoleApplication2
 7 {
 8     class Program
 9     {
10         static void Main(string[] args)
11         {
12             /*声明两个整型变量*/
13             int a, b;
14             /*在控制台上输入两个数值*/
15             Console.Write("a=");
16             a = Convert.ToInt32(Console.ReadLine());
17             Console.Write("b=");
18             b = Convert.ToInt32(Console.ReadLine());
19 
20             /*调用Write()方法显示两个整型变量*/
21             Console.Write("Write()方法\n");
22             Console.Write(a);
23             //Console.WriteLine();
24             Console.Write(b);
25             
26             /*分割线*/
27             Console.Write("\n---------------\n");
28 
29             /*调用WriteLine()方法显示两个整型变量*/
30             Console.Write("WriteLine()方法\n");
31             Console.WriteLine(a);
32             Console.WriteLine(b);
33 
34             Console.ReadKey();
35         }
36     }
37 }

输入两个值:a = 1234,b = 5678

执行结果:

当我们把上述控制台代码的第23行注释去掉,执行结果变为:

 补充知识:

 1 Console.WriteLine("fixed_text+{index_value,width:Format},"object_0,object_1,object)_2) 

括号中("fixed_text +{index_value,width:Format}",object_0,object_1,object_2)这串字符,叫做【复合格式字符串2】。

 对于复合格式字符串,微软是这样定义的3

复合格式字符串对象列表将用作支持复合格式设置功能的方法的参数。 复合格式字符串由零个或多个固定文本段与一个或多个格式项混和组成。 固定文本是所选择的任何字符串,并且每个格式项对应于列表中的一个对象或装箱的结构。 复合格式设置功能返回新的结果字符串,其中每个格式项都被列表中相应对象的字符串表示形式取代。”

格式项语法

每个格式项都采用下面的形式并包含以下组件:

{index[,alignment][:formatString]}

必须使用成对的大括号(“{”和“}”)。

其中,index的值从0算起,alignment是对齐的含义,数值的大小表示输出格式长度,正值表示右对齐,负值表示左对齐。

formatString共有9个值。分别是C、D、E、F、G、N、P、R、X.(这些格式字符串,不仅可以对数字的显示格式进行设置,还可以对数字的精度格式进行设置。关于这9个格式字符串具体使用方法,,除了参阅本文,更加权威详细的信息,请参阅微软官网文章:标准数字格式字符串。备注,D,只能格式化整型数据。)

简单对格式字符串C做下说明:

C: 将数字格式化为数据,货币符号取决于用户所在区域(准确地说,取决于电脑操作系统设置的货币符号,设置方法(以win7为例):控制面板→区域和语言→格式→更改排序方法→货币→货币符号)。

举例:

1 double totalMoney_double = 628.25;
2 Console.WriteLine("总收入={0:C}",totalMoney_double);//默认
3 Console.WriteLine("总收入={0,10:C}",totalMoney_double);//数出格式长度10,右对齐
4 Console.WriteLine("总收入={0,-10:C}", totalMoney_double);//数出格式长度10,左对齐
5 Console.WriteLine("总收入={0,-10:C4}", totalMoney_double);//设置数据精度为4位小数
6 Console.ReadKey();

运行结果:

 下面用C#语言中的WriteLine()方法演示数字、日期和枚举的标准格式说明符4

C#代码如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace ConsoleApplication1
 7 {
 8     class Program
 9     {
10         enum Color { Yellow = 1, Blue, Green };
11         static DateTime thisDate = DateTime.Now;
12 
13         public static void Main()
14         {
15             Console.Clear();
16 
17             // Format a negative integer or floating-point number in various ways.
18             Console.WriteLine("Standard Numeric Format Specifiers");
19             Console.WriteLine(
20                 "(C) Currency: . . . . . . . . {0:C}\n" +
21                 "(D) Decimal:. . . . . . . . . {0:D}\n" +
22                 "(E) Scientific: . . . . . . . {1:E}\n" +
23                 "(F) Fixed point:. . . . . . . {1:F}\n" +
24                 "(G) General:. . . . . . . . . {0:G}\n" +
25                 "    (default):. . . . . . . . {0} (default = 'G')\n" +
26                 "(N) Number: . . . . . . . . . {0:N}\n" +
27                 "(P) Percent:. . . . . . . . . {1:P}\n" +
28                 "(R) Round-trip: . . . . . . . {1:R}\n" +
29                 "(X) Hexadecimal:. . . . . . . {0:X}\n",
30                 -123, -123.45f);
31 
32             // Format the current date in various ways.
33             Console.WriteLine("Standard DateTime Format Specifiers");
34             Console.WriteLine(
35                 "(d) Short date: . . . . . . . {0:d}\n" +
36                 "(D) Long date:. . . . . . . . {0:D}\n" +
37                 "(t) Short time: . . . . . . . {0:t}\n" +
38                 "(T) Long time:. . . . . . . . {0:T}\n" +
39                 "(f) Full date/short time: . . {0:f}\n" +
40                 "(F) Full date/long time:. . . {0:F}\n" +
41                 "(g) General date/short time:. {0:g}\n" +
42                 "(G) General date/long time: . {0:G}\n" +
43                 "    (default):. . . . . . . . {0} (default = 'G')\n" +
44                 "(M) Month:. . . . . . . . . . {0:M}\n" +
45                 "(R) RFC1123:. . . . . . . . . {0:R}\n" +
46                 "(s) Sortable: . . . . . . . . {0:s}\n" +
47                 "(u) Universal sortable: . . . {0:u} (invariant)\n" +
48                 "(U) Universal full date/time: {0:U}\n" +
49                 "(Y) Year: . . . . . . . . . . {0:Y}\n",
50                 thisDate);
51 
52             // Format a Color enumeration value in various ways.
53             Console.WriteLine("Standard Enumeration Format Specifiers");
54             Console.WriteLine(
55                 "(G) General:. . . . . . . . . {0:G}\n" +
56                 "    (default):. . . . . . . . {0} (default = 'G')\n" +
57                 "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)\n" +
58                 "(D) Decimal number: . . . . . {0:D}\n" +
59                 "(X) Hexadecimal:. . . . . . . {0:X}\n",
60                 Color.Green);
61             Console.ReadKey();
62         }
63     }
64 }

执行结果:

参考文献:

1.参考文献1

2.参考文献2

3.参考文献3

4.参考文献4

5.参考文献5

6.参考文献6

posted @ 2022-06-03 19:21  美人她爹  阅读(2184)  评论(0编辑  收藏  举报