Console.WriteLine()表示向控制台写入字符串后换行。
Console.WriteLine("鹿鼎记中的{0}的妻子有{1}、{2}、{3}等7个",strName[0],strName[1],strName[2],strName[3]);
这种方式中包含两个参数:“格式字符串”和“变量表”。
“鹿鼎记中的{0}的妻子有{1}、{2}、{3}等7个”是格式字符串;
{0}、{1}、{2}、{3}叫做占位符,代表后面一次排列的变量表,0对应变量列表的第一个变量,1对应变量列表的第二个变量,依次类推,完成输出。
从控制台输入:
Console.ReadLine();这一句代码返回一个字符串数据,可以把它直接赋值给字符串变量,如:
string strname=Console.ReadLine();
有时需要从控制台输入数字,就用到前面介绍的内容,数据转换,如:
int num=int.Pares(Console.ReadLine());
int num=Convert.ToIn32(Console.ReadLine());
Console.Write表示向控制台直接写入字符串,不进行换行,可继续接着前面的字符写入。
Console.WriteLine表示向控制台写入字符串后换行。
Console.Read表示从控制台读取字符串,不换行。
Console.ReadLine表示从控制台读取字符串后进行换行。
Console.ReadKey表示获取用户按下的下一个字符或功能键,按下的键显示在控制台窗口中。
Console.Beep通过控制台扬声器播放提示音。
Console.Clear清楚控制台缓冲区和相应的控制台窗口的显示信息。
以前用Console.WriteLine()的时候就只会用它直接输出string字符串,但后来发现它还有其它在有些场合下会十分方便的输出方法,这篇就记录一下这些方法的使用吧。
代码格式我就不写了,因为写了也不好理解,所以直接上示例了。
①
</>code
- static void Main(string[] args)
- { int i = 6; string s = "输出";
- Console.WriteLine("{0}还可以这样{1}哦。", i, s);
- Console.WriteLine("{1}:而且{0}参数的顺序和使用次数都不固定哦。{1}", i, s);
- Console.ReadLine();
- }
在这里,Console.WriteLine的括号中一共有三个参数,第一个参数和普通的输出字符串类似,只是加入了”{int}”这样的标记,例如”{0}”的意思就是在这个标记所在处插入Console.WriteLine的括号中的第二个参数;”{1}”的意思就是在这个标记处插入Console.WriteLine的括号中的第三个参数。Console.WriteLine中传入的参数数量不固定,因此”{int}”标记的int也可能是2、3、4、5…,但不管是多少,int总是要对应着之后的参数的下标的。
②
</>code
- static void Main(string[] args)
- {
- int i = Int32.Parse(Console.ReadLine());
- int j = Int32.Parse(Console.ReadLine());
- Console.WriteLine("\t{0,5}\n{1}\t{2,-5}\n{3}\t{4,5}",i,"+",j,"=",i+j);
- Console.ReadLine();}
第一和第二行是输入,第三行开始是输出。Console.WriteLine的括号中“\t”代表一个制表符,”\n”代表换行符,“{v,w}”中的”v”表示参数下标,”w”表示输出长度。例如{0,5}代表输出下标为0的”i”,且长度为5;{2,-5}代表输出下标为2的”j”,长度也为5,而参数”w”之前加的负号表示此输出为”左对齐”,其它没有加负号的为右对齐,效果如上图所示;
我在一开始使用Console.WriteLine的时候,经常采用的是拼接字符串的形式来构建输出。
但是Console.WriteLine具有扩展的方法来对内容进行输出,类似于我们常用的String.Format。
</>code
- static void Main(string[] args)
- {
- //generic list
- List<int> ListGeneric = new List<int> { 5, 9, 1, 4 };
- //timer for generic list sort
- Stopwatch s = Stopwatch.StartNew();
- ListGeneric.Sort();
- s.Stop();
- // Console.WriteLine($"Generic Sort:{ListGeneric} \n Time taken:{s.Elaspsed.TotalMillisecond}ms");
- Console.WriteLine("Generic Sort: {0} \n Time taken: {1}ms", ListGeneric,s.Elapsed.TotalMilliseconds);
- Console.ReadLine();
- }
对于Console.Writeline对其会有特殊的格式,比如文本特殊格式,数字特殊格式,日期特殊格式,枚举特殊格式(enumeration)等。
使用{0}是console.writeline()的基本,在这个基础上,我们可以对其具体格式进行限定。其中D说明的DateTime.Now的标准格式,因为电脑系统和设置的不同,该值存在一定的差异。
</>code
- Console.WriteLine("Today's date:{0:D}", DateTime.Now);
Console.read()、Console.readline()、Console.readkey()和Console.Write()、Console.Writeline()的区别
Console.read()、Console.readline()、Console.readkey()和Console.Write、Console.Writeline()的区别
Console.readkey():监听键盘事件,可以理解为按任意键执行。
Console.read():读取键盘输入的第一个字符,返回ASCII值。回车退出
Console.readline():读取所有字符,返回字符串。回车退出
Console.Write():控制台输出,不换行。
Console.Writeline():控制台输出,换行。
For instance:
</>code
- namespace ConsoleApplication1{
- class Program
- {
- static void Main(string[] args)
- { var e = Console.Read();
- Console.Write("第1次输出:"+e);
- Console.WriteLine("第2次输出:" + e); var P = Console.ReadLine();
- Console.Write("第3次输出:" + P);
- Console.WriteLine("第4次输出:" + P);
- Console.ReadKey();
- }
- }
- }
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛