C#中Console.ReadLine()函数的作用

gaoyu7573079 2011-03-24 01:21:23
为什么有的c#程序最后有Console.ReadLine()函数 有的却没有呢???
...全文
11430 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿拉敏敏 2012-03-20
  • 打赏
  • 举报
回复 1
真心想问下,我用console.readkey()不是更好。为什么还要readline()
优拉Ula 2011-09-23
  • 打赏
  • 举报
回复
恩,这样我就懂了,受教了!
Benkin27 2011-07-15
  • 打赏
  • 举报
回复
新手受教啦。。呵呵。感触不错。
戒指 2011-03-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 caozhy 的回复:]

引用 5 楼 scauscnu 的回复:
引用 4 楼 caozhy 的回复:

很多人添加ReadLine()是为了让程序运行完了停下来,避免控制台窗口被关掉。

其实这是一种不良的编码习惯。

请问那你有什么办法呢?版主大人

根据“单一职责”原则。让程序停下来不是程序本身的功能。

在一个有实际功能的控制台应用程序里面,应该让调用者自己去处理停下来的事情。

比如……
[/Quote]正解~
heavenopener 2011-03-25
  • 打赏
  • 举报
回复
Ctrl+F5可以在执行程序后暂停,任意键结束,这个可代替使用Console.ReadLine()
longwords 2011-03-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 scauscnu 的回复:]
引用 2 楼 fangxinggood 的回复:
对于Console工程来说,没有ReadLine()等待用户输入的话,就退出了。

readline 按enter结束
readkey 按任意非功能键(字符) 结束
[/Quote]

他们说的是对的 和我的观点基本一致
shaofei830927 2011-03-25
  • 打赏
  • 举报
回复 1
控制台程序 直接调试F5 会运行结束后关闭控制台
使用直接运行而非调试Ctrl+F5 可以避免运行结束后自动关闭
这种情况下 断点不起作用

所以大家习惯在最后加上Console.ReadLine()
使 这句话以上的代码都运行完后 执行Console.ReadLine()
已达到控制台等待用户输入的状态 而不关闭
朝三慕四 2011-03-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hamber_bao 的回复:]
当我们运行控制台程序的时候,往往速度比较块,黑色屏幕一闪就过了

我们在程序的末尾写上这句话的目的就是等待用户的输入,任意输入,然后再关闭窗口

也就是方便我们查看程序运行的结果。

也可以使用Console.ReadKey();
[/Quote]

楼主给我分...
shanyilan 2011-03-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hamber_bao 的回复:]
当我们运行控制台程序的时候,往往速度比较块,黑色屏幕一闪就过了

我们在程序的末尾写上这句话的目的就是等待用户的输入,任意输入,然后再关闭窗口

也就是方便我们查看程序运行的结果。

也可以使用Console.ReadKey();
[/Quote]
是的,也可以按 ctrl+F5 让程序运行完,停下来
lxt106297 2011-03-25
  • 打赏
  • 举报
回复
运行控制台程序时才会这样出现呢,console.read()和console.readline()他们的区别就是后者程序读取后需要敲回车
钱币老顽童 2011-03-25
  • 打赏
  • 举报
回复
接收用户从键盘输入的其他内容,点击回车则结束退出程序。
yxb295891266 2011-03-25
  • 打赏
  • 举报
回复
读入用户输入的字符回车则结束
  • 打赏
  • 举报
回复
+1
[Quote=引用 2 楼 fangxinggood 的回复:]
对于Console工程来说,没有ReadLine()等待用户输入的话,就退出了。
[/Quote]
风之影子 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tanone 的回复:]
貌似最后没有这句的话,控制台程序界面闪一下就会关掉
[/Quote]


有的话是等待用户输入,所以程序会等,没有则执行完直接退出。
linuxjava01 2011-03-24
  • 打赏
  • 举报
回复
对于Console工程来说,没有ReadLine()等待用户输入的话,就退出了。
Hamber_Bao 2011-03-24
  • 打赏
  • 举报
回复
当我们运行控制台程序的时候,往往速度比较块,黑色屏幕一闪就过了

我们在程序的末尾写上这句话的目的就是等待用户的输入,任意输入,然后再关闭窗口

也就是方便我们查看程序运行的结果。

也可以使用Console.ReadKey();
机器人 2011-03-24
  • 打赏
  • 举报
回复
正常利用Console.ReadLine()应该这么写:

string input = Console.ReadLine(); //读入用户输入的字符回车则结束。
threenewbee 2011-03-24
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/en-us/library/system.console.readline.aspx

Reads the next line of characters from the standard input stream.
从标准输出流读出下一行字符。
gaoyu7573079 2011-03-24
  • 打赏
  • 举报
回复
那这个RadLine函数到底是干什么的啊
threenewbee 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 scauscnu 的回复:]
引用 4 楼 caozhy 的回复:

很多人添加ReadLine()是为了让程序运行完了停下来,避免控制台窗口被关掉。

其实这是一种不良的编码习惯。

请问那你有什么办法呢?版主大人
[/Quote]
根据“单一职责”原则。让程序停下来不是程序本身的功能。

在一个有实际功能的控制台应用程序里面,应该让调用者自己去处理停下来的事情。

比如以 cmd /k 去启动控制台。
或者在程序之后加上 pause 命令。
加载更多回复(5)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧