时间:2022-4-30来源:本站原创作者:佚名
临沂白癜风医院 http://disease.39.net/bjzkbdfyy/201016/8302892.html

“在做程序测试小工具的时候,功能不多使用winfrom有些麻烦,直接控制台输入指令然后执行操作就很方便。”

正文内容从这里开始(可直接省略,亦可配图说明)。

控制台输入和输入的几个基础语句。

Console.Read();:从控制台窗口读取一个字符,返回int值(ASCII值)。

Console.ReadLine();:从控制台窗口读取一行文本,返回string值。

Console.ReadKey();:监听键盘事件,理解为按任意键执行。

Console.Write();:将制定的值写入控制台窗口。

Console.WriteLine();:将制定的值写入控制台窗口,但在输出结果的最后添加一个换行符。

Console.Read和Console.ReadLine的区别:

相同点:两者都是用于输入的函数。

不同点:

Read只能读取一个字符,ReadLine可以读取一个字符串(如Read读取C和CUGG的返回值都是一样的,都为C的ASCII值,对于后续的UGG不理会,但是UGG还在缓存区里面;而ReadLine则为C和CUGG原样输出。)

Read输出的结果为字符串第一个字符的ASCII码值,而ReadLine输出字符串。

Read只接受任意键盘输入,ReadLine接受回车,也就是说Read接受键盘任意键往下执行,ReadLine接受回车往下执行。

这里还牵扯到一个缓冲区问题,下来我们来看看缓冲区问题

Console.ReadKey:在键盘敲击任意键后退出控制台程序。一般在Console.Write()或Console.WriteLine()后加入这个函数,使窗口停留直至所需执行的命令完成后按任意键关闭窗口。

新建一个控制台程序,main方法中写入下面代码

Console.WriteLine("请输入一个字符:");inti=Console.Read();charchr=(char)i;Console.WriteLine("字符:"+chr);//当前缓冲区还存在回车指令Console.ReadLine();//添加的ReadLine清除缓冲区Console.WriteLine("请输入一个字符串:");stringctr=Console.ReadLine();Console.WriteLine("字符串:"+ctr);Console.ReadLine();

然后就可以按照提示输入字符再输出了。

如果想一直输入输出怎么写呢?

写个死循环一直读取输入然后输出

while(true){stringval=Console.ReadLine();Console.WriteLine("循环:"+val);//Console.ReadLine();//执行命令(用户输入);}

控制台程序在运行,然后等待用户随时按键来暂停运行,直接用Console.ReadKey会阻塞运行,那么如何不阻塞的检测按键:

while(true){Thread.Sleep();Console.WriteLine("----------");while(Console.KeyAvailable){Console.WriteLine("!!!!!");Console.ReadKey(true);}}

觉得本文对你有帮助?请分享给更多人

长按
转载请注明原文网址:http://www.helimiaopu.com/cxys/cxys/11900.html

------分隔线----------------------------