黑马程序员技术交流社区

标题: 为什么编写c#控制台程序,如果不加Console.ReadKey();程序窗就一 [打印本页]

作者: 朱勋    时间: 2011-10-25 20:00
标题: 为什么编写c#控制台程序,如果不加Console.ReadKey();程序窗就一
为什么编写c#控制台程序,如果不加Console.ReadKey();程序窗就一闪,加它的作用{:soso_e181:} 是什么呢?
作者: 宁超    时间: 2011-10-25 20:21
等待键盘输入,退出程序。使调试时能看到输出结果。如果没有此句,命令窗口会一闪而过。
作者: 朱勋    时间: 2011-10-25 20:56
宁超 发表于 2011-10-25 20:21
等待键盘输入,退出程序。使调试时能看到输出结果。如果没有此句,命令窗口会一闪而过。 ...

不要这句按Ctrl+F5为什么可以?:)
作者: 李荣壮    时间: 2011-10-25 21:59
本帖最后由 李荣壮 于 2011-10-25 22:20 编辑
朱勋 发表于 2011-10-25 20:56
不要这句按Ctrl+F5为什么可以?


你比较两种打开方式的标题栏,
就会发现按F5是调试模式,也就是直接运行你的代码编译好的程序文件,标题栏是编译文件所在的路径

而按"Ctrl+F5"是直接运行不调试,标题栏是C:\Windows\system32\cmd.exe,实际上就是打开一个命令行窗口,然后执行了你编译的程序.

你可以打开一个命令行窗口,试一下 :  执行完后,程序也会马上退出,但是会打印出消息(呵呵,本来就是命令行程序).

至于作用就是因为Console.ReadKey()会暂停程序,直到你输入一个字符,这样可以让你看到程序的输入结果.

按Ctrl+F5,会暂停,是因为Visual Studio自动帮你做了处理.你手动运行的时候在程序后面加上参数" & pause"(空格&空格pause)也会达到相同的效果.

请看六楼的图片对照一下.
作者: 朱勋    时间: 2011-10-25 22:00
{:soso_e179:}
作者: 李荣壮    时间: 2011-10-25 22:08
标题: 编辑模式有Bug啊,管理员在哪里,Come here
本帖最后由 李荣壮 于 2011-10-25 22:35 编辑

刚刚编辑的时候,顺便发现了一个小BUG,   

回复的时候直接上传附件就可回复了

但是在点了编辑进入编辑模式后 点保存 还要输入标题,和内容,,,,,像发新帖一样,跟正常回复不一样啊

调试.jpg (13.75 KB, 下载次数: 106)

调试,加了Console.ReadKey();

调试,加了Console.ReadKey();

不调试.jpg (11.1 KB, 下载次数: 93)

请看任务管理器那张图,后面带了参数

请看任务管理器那张图,后面带了参数

pause.jpg (35.53 KB, 下载次数: 92)

手动输入参数后的运行效果,注意标题栏,这时候程序还没有退出

手动输入参数后的运行效果,注意标题栏,这时候程序还没有退出

任务管理器.jpg (11.66 KB, 下载次数: 92)

通过任务管理器可以看出,系统帮我们自动在不调试模式下加上了参数

通过任务管理器可以看出,系统帮我们自动在不调试模式下加上了参数

作者: 朱勋    时间: 2011-10-26 08:06
李荣壮 发表于 2011-10-25 22:08
刚刚编辑的时候,顺便发现了一个小BUG,   

回复的时候直接上传附件就可回复了

恩 知道了,谢谢
作者: 黄朝辉    时间: 2011-10-26 09:07
楼主按下F5和Ctrl+F5就知道区别了!
作者: 黄朝辉    时间: 2011-10-26 09:07
F10逐行调试
作者: 章坚    时间: 2011-11-1 21:19
Console.ReadKey();      从字面理解       等待读取KEY    而KEY代表键值   任意键
作者: 宋天琪    时间: 2011-11-5 09:39
不加Console.ReadKey();就点调试,开始调试(不执行),加上之后直接点那个绿色的小箭头就可以了。。
作者: 小石    时间: 2011-11-5 14:52
加Console.ReadLine()也可以,和Console.ReadKey()效果差不多




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2