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字符串,但后来发现它还有其它在有些场合下会十分方便的输出方法,这篇就记录一下这些方法的使用吧。
代码格式我就不写了,因为写了也不好理解,所以直接上示例了。
①
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总是要对应着之后的参数的下标的。
②
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。
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的标准格式,因为电脑系统和设置的不同,该值存在一定的差异。
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:
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(); } } }
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛