C# Console.WriteLine()的用法(非常详细)
写一个程序最重要的就是要完美地输出,让使用者可以获得想要的信息,本节就系统讲解 C# 中 Console.WriteLine() 的用法。
【实例】参数是字符串和对象的应用。
例如:
【实例】格式化输出的整体应用。
【实例】输出今天的日期与时间。
【实例】格式化整数,分别靠左与靠右对齐。
上述概念也可以应用到 float 或 double 等浮点数上,可以参考下列实例:
在格式化输出中,也可以应用格式化字符,例如含小数点的输出格式化字符是 Fn,n 是小数点位数,假设变量是 num,预留 10 格空间,小数部分预留 2 位空间,这时可以使用下列格式:
【实例】格式化双精度浮点数,小数部分留 2 位,分别靠左与靠右对齐。
【实例】货币符号输出的应用。
Console.WriteLine() 在 System 命名空间内。
C# WriteLine()输出字符串
在 WriteLine() 内,如果没有参数,可以输出空白行,跳行输出。例如:Console.WriteLine("Hello,早安"); Console.WriteLine(); Console.WriteLine("Hello,再见");执行结果为:
Hello,早安
Hello,再见
C# WriteLine()参数是字符串和对象
当有多个参数时彼此用逗号,
分隔,下列指令中,第 1 个参数是字符串,此字符串内使用大括号标记要格式化的数据,大括号内将要格式化的数据用数字标记,此数字从 0 起算,数字会对应字符串后面的参数,整个说明如下所示。
【实例】参数是字符串和对象的应用。
string name = "洪锦魁"; int score = 90; Console.WriteLine("{0} 的数学考试得 {1} 分", name, score);执行结果为:
洪锦魁 的数学考试得 90 分
C# WriteLine()字符串插补
所谓字符串插补(string interpolation),是指字符串左边增加“$”字符,然后将要输出的变量放在大括号内。这是 C# 6.0 后的功能。例如:
string name = "洪锦魁"; int score = 90; Console.WriteLine($"{name} 的数学考试得 {score} 分");执行结果为:
洪锦魁 的数学考试得 90 分
C# WriteLine()格式化输出数字
有关格式化数字的字符符号可以参考下表。字符 | 说明 | 实例 |
---|---|---|
C 或 c | 货币格式输出 | -123 输出 (-NT$123.00) |
Dn 或 dn | 10 进制输出,n 是输出位数 | -123 输出 -123 |
E 或 e | 科学符号输出 | -123.45f 输出 -1.2345E+002 |
Fn 或 fn | 含小数字数输出,n 是输出位数 | -123.45f 输出 -123.45 |
G 或 g | 一般格式显示数值(默认) | -123 输出 -123 |
N 或 n | 含小数,同时有千分位 | -123 输出 -123.00 |
P 或 p | 含小数、百分比,同时有千分位 | -123.45 输出 -12,345.00 % |
X 或 x | 16 进制显示 | 123 输出 FFFFF85 |
【实例】格式化输出的整体应用。
Console.WriteLine( "(C) Currency:...........{0:C}\n" + "(C) Currency:...........{1:C}\n" + "(D) Decimal:...........{0:D}\n" + "(E) Scientific:........{2:E}\n" + "(F) Fixed point:.......{2:F}\n" + "(G) General:...........{0:G}\n" + "(default):............{0} (default = 'G')\n" + "(N) Number:...........{0:N}\n" + "(P) Percent:...........{2:P}\n" + "(X) Hexadecimal:.......{0:X}", -1234, 1234, -1234.567f);执行结果为:
(C) Currency:...........¥-1234,00 (C) Currency:...........¥1234,00 (D) Decimal:...........-1234 (E) Scientific:........-1.234568E+003 (F) Fixed point:.......-1234.567 (G) General:...........-1234 (default):............-1234 (default = 'G') (N) Number:...........-1234.00 (P) Percent:...........-123,450.70 % (X) Hexadecimal:.......FFFFFB2E
C# WriteLine()格式化输出日期与时间
假设现在日期是 2024 年 10 月 31 日,时间是 15:54:46,则有关格式化日期与时间的字符符号可以参考下表。字符 | 说明 | 实例 |
---|---|---|
d | 短日期 Short date | 2024/10/31 |
D | 长日期 Long date | 2024 年 10 月 31 日 |
t | 短时间 Short time( 不含秒 ) | 下午 03:54 |
T | 长时间 Long time( 含秒 ) | 下午 03:54:46 |
f | 完整日期 / 短时间 | 2024 年 10 月 31 日 下午 03:54 |
F | 完整日期 / 长时间 | 2024 年 10 月 31 日 下午 03:54:46 |
g | 一般日期 / 短时间 | 2024/10/31 下午 03:54 |
G | 一般日期 / 长时间(这是默认) | 2024/10/31 下午 03:54:46 |
M | 月 / 日 | 10 月 31 日 |
Y | 年 / 月 | 2024 年 10 月 |
【实例】输出今天的日期与时间。
DateTime today = DateTime.Now; Console.WriteLine( "(d) Short date:...........{0:d}\n" + "(D) Long date:............{0:D}\n" + "(t) Short time:..........{0:t}\n" + "(T) Long time:............{0:T}\n" + "(f) Full date/short time:..{0:f}\n" + "(F) Full date/long time:...{0:F}\n" + "(g) General date/short time:.{0:g}\n" + "(G) General date/long time:..{0:G}\n" + "(default):................{0} (default = 'G')\n" + "(M) Month:................{0:M}\n" + "(Y) Year:.................{0:Y}\n", today);运行结果为:
(d) Short date:...........2024/04/14 (D) Long date:............2024年4月14日 (t) Short time:..........15:54 (T) Long time:............15:54:46 (f) Full date/short time:..2024年4月14日 15:54 (F) Full date/long time:...2024年4月14日 15:54:46 (g) General date/short time:.2024/04/14 15:54 (G) General date/long time:..2024/04/14 15:54:46 (default):................2024/04/14 15:54:46 (default = 'G') (M) Month:................4月14日 (Y) Year:.................2024年4月上述程序 DateTime.Now 属于 System 命名空间,DateTime.Now 可以回传目前计算机的日期和时间。
C# WriteLine()预留输出空间与对齐方式
程序设计时有时会想要预留输出的空间,如输出预留 5 格空间;有时会想要输出靠左对齐,有时会想要输出靠右对齐,假设变量是 num,预留 3 格空间,这时可以使用下列格式:{num, 3}; // 预留 3 格空间,num 靠右对齐 {num, -3}; // 预留 3 格空间,num 靠左对齐注意,如果预留空间不足,则此预留空间将被忽略,变量内容可以完整显示。
【实例】格式化整数,分别靠左与靠右对齐。
int num = 5; Console.WriteLine($"靠右对齐 :{num, 3}"); Console.WriteLine($"靠左对齐 :{num,-3}");执行结果为:
靠右对齐 : 5 靠左对齐 :5
上述概念也可以应用到 float 或 double 等浮点数上,可以参考下列实例:
double num = 5.12345; Console.WriteLine($"靠右对齐 :{num,10}"); Console.WriteLine($"靠左对齐 :{num,-10}");执行结果为:
靠右对齐 : 5.12345 靠左对齐 :5.12345
在格式化输出中,也可以应用格式化字符,例如含小数点的输出格式化字符是 Fn,n 是小数点位数,假设变量是 num,预留 10 格空间,小数部分预留 2 位空间,这时可以使用下列格式:
{num, 10:F2} // 预留 10 格空间,小数部分留 2 位,num 靠右对齐 {num, -10:F2} // 预留 10 格空间,小数部分留 2 位,num 靠左对齐
【实例】格式化双精度浮点数,小数部分留 2 位,分别靠左与靠右对齐。
double num = 5.12345; Console.WriteLine($"靠右对齐 :{num,10:F2}"); Console.WriteLine($"靠左对齐 :{num,-10:F2}");执行结果为:
靠右对齐 : 5.12
靠左对齐 :5.12
C# WriteLine()格式化货币符号输出
前面讲的方法也可以用于货币符号的输出,货币符号的格式化字符是 C 或 c,下列将直接用程序实例来解说。【实例】货币符号输出的应用。
double bill = 123.5; double tax = bill * 0.05; double total = bill + tax; Console.WriteLine($"bill\t{bill,10:C2}"); Console.WriteLine($"tax\t{tax,10:C2}"); Console.WriteLine(("").PadRight(18, '-')); Console.WriteLine($"Total\t{total,10:C2}");执行结果为:
bill ¥123.50 tax ¥6.18 ------------------------- Total ¥129.68
PadRight(18, ‘-’)
是字符串 String 的方法,第 1 个参数是数量,第 2 个参数是输出字符,整个功能是输出 18 个“-”字符。