目录
Console.Write方法&Console.WriteLine方法
用控制台输入
ReadLine方法
System命名空间下的Console类提供了ReadLine方法,该方法可以从标准输入流依次读取从键盘输入的字符,并将从键盘输入的的字符立即显示到控制台窗口中,并且会在用户按下回车键之前一直等待输入,知道用户按下回车停止输入为止。
给出例子,简单演示一下ReadLine方法的简单用法:
string s = Console.ReadLine();
if (s = "abc")
{
Console.WriteLine("ok");
}
ReadKey方法
除了ReadLine方法外,我们还可以使用ReadKey方法来获取用户输入的字符或功能键。ReadKey方法返回的是一个ConsoleKeyInfo类型的对象,该对象会描述该用户按下了哪个键,该方法通常用于判断条件。
给出例子,演示一下ReadKey方法的简单用法:
代码功能一直接受用户键入的信息,直到接受到了<Esc>键。
ConsoleKeyInfo c;
do
{
c = ConsoleKeyInfo( );
}
while (c.Key != ConsoleKey.Escape);
快速输入C#代码
我们程序员在编写C#代码是,系统给我们提供了很多可以直接插入的代码段,利用这些代码段可以大大提高我们的开发进程,减轻我们的编码负担。例如,输入"for"三个字母后,连续按两个<tab>键,系统就会自动插入如下代码段:
for (int i = 0; i < length; i++)
{
}
在控制台应用程序中输出格式化数据
Console.Write方法&Console.WriteLine方法
格式:
Console.WriteLine("格式化表示",参数序列);
Console.Write("格式化表示",参数序列);
格式化表示:{N [,M][:格式码]}
N:用于指定参数序列中的输出信号
M:指定参数输出的最小长度,如果参数长度小于M,就用空格填充,如果大于等于M,则按实际长度输出;M为正,左对齐;M为负,右对齐;若未指定M,则默认为零。
例:
int x=10,y=20,c=620;
Console.WriteLine("{0}+{1}+{2}={3}",x,y,z,x+y+z);//输出10+20+620=650
格式码
格式码:为可选的格式化代码字符串。
格式符 | 含 义 | 示 例 | 输出结果 |
---|---|---|---|
C | 将数字按照金额形式输出 | Console.WriteLine("{0:C}",10); Console.WriteLine("{0:C}",10.5); |
¥10.00 ¥10.50 |
D或d | 输出十进制整数。D后的数 字表示输出位数,不够指定 的位数时,左边补0 |
Console.WriteLine("{0:D}",10); Console.WriteLine("{0:D5}",10); |
10 00010 |
F或f | 小数点后固定位数(四舍五 入),F后面不指定位数时, 默认为两位 |
Console.WriteLine("{0:F}",10); Console.WriteLine("{0:F4}",10.56736); Console.WriteLine("{0:F2}",12345.6789); Console.WriteLine("{0:F3}",123.45); |
10.00 10.5674 12345.68 123.450 |
N或n | 整数部分每3位用逗号分隔; 小数点后固定位数(四舍五 入),N 后面不指定位数时 ,默认为两位 |
Console.WriteLine("{0:n4}",12345.6789); | 12,345.6789 |
P或p | 以百分比形式输出,整数部 分每3位用逗号分隔;小数 点后固定位数(四舍五入), 为两位 |
Console.WriteLine("{0:p}",0.126); | 12.60% |
X或x | 按十六进制格式输出。X后 的数字表示输出位数,不够 指定的位数时,前面补0 |
Console.WriteLine("{0:X}",10); Console.WriteLine("{0:X4}",10); |
A 000A |
0 | 0 占位符,如果数字位数不 够指定的占位符位数,则左 边补0;如果数字位数超过 指定的占位符位数,则按照 实际位数原样输出。如果小 数部分的位数超出指定的占 位符位数,则多余的部分四 舍五入 |
Console.WriteLine("{0:00000}",123); Console.WriteLine("{0:000}",12345); Console.WriteLine("{0:0000}",123.64); Console.WriteLine("{0:00.00}",123.6484); |
00123 12345 0124 123.65 |
# | #占位符。对整数部分,去 掉数字左边的无效0;对小 数部分,按照四舍五入原则 处理后,再去掉右边的无效 0。如果这个数就是0,而又 不想让它显示的时候,#占 位符很有用。 |
Consol.WriteLine("{0:####}",123); Consol.WriteLine("{0:####}",123.64); Consol.WriteLine("{0:####.###}",123.64); Consol.WriteLine("{0:####.##}",0); Consol.WriteLine("{0:####.##}",123.648); |
123 124 123.64 123.65 |
PS:在格式化的表示中,有两个比较特殊的用法:
- 如果恰好在格式中也要使用大括号,可以用连续的两个大括号表示一个大括号。例:"{{\}}"。
- 如果希望格式中的字符或字符串包含与格式符相同的字符,但有希望能够让其原样显示时,可以用单引号将与格式符相同的字符括起来。