关于C#中的Console.Read和Console.ReadLine
在C#控制台写代码Console.Read后接Console.ReadLine是停不住的必须要Console.ReadLine两次据说回车后Console.Read返回一...
在C#控制台写代码Console.Read后接Console.ReadLine是停不住的必须要Console.ReadLine两次据说回车后Console.Read返回一个ASCII码 但回车符(/r/n)是会留给下一个控制台接收的Console.ReadLine检索的是/r所以第一个会Console.ReadLine会跳过 不会阻塞程序的运行不过俺一直听着很忽悠的感觉能不能详细讲解点?具体Console.ReadLine和Console.Read是怎么处理的回车后又会怎样? [我讨厌copy流]
展开
3个回答
2013-08-04
展开全部
我也是学生,看到你这问题,临时理解了一下,不知道能不能用上"在键入输入字符时,Read 方法会阻止其返回;该方法在您按 Enter 键时终止。按 Enter 会在输入内容后面追加一个与平台有关的行终止序列(例如,Windows 追加一个回车符和换行符序列)。" 这是msdn对Console.Read()的解释的一部分,然后我用 Console.WriteLine("这是READ");
int i= Console.Read();
Console.WriteLine(i.ToString()); Console.WriteLine("这是LINE");
Console.ReadLine(); Console.ReadKey();
这个试了一下,输入a 回车,屏幕打出 a 97 再按任意建就退出了。然后再回头看了一下msdn,觉得吧,这事是不是这样啊:read()时输入的内容,以回车(换行)为结束,而这个换行又不会被read()方法处理,而留给了readline(),这readline()看见回车,就觉得这行是结束了,(“行被定义为后跟回车符(十六进制 0x000d)、换行符(十六进制 0x000a)或 Environment.NewLine 属性值的字符序列。返回的字符串不包含终止字符。” 这也是msdn的),其实这个回车不是给他的,而是他前面的哥们留下的,但是他自作多情的以为结束了,所以就没给人类在输入的机会。应该是这个道理吧。。。。我语文学的不怎么好,也不知道这样说是不是你问的。。。
int i= Console.Read();
Console.WriteLine(i.ToString()); Console.WriteLine("这是LINE");
Console.ReadLine(); Console.ReadKey();
这个试了一下,输入a 回车,屏幕打出 a 97 再按任意建就退出了。然后再回头看了一下msdn,觉得吧,这事是不是这样啊:read()时输入的内容,以回车(换行)为结束,而这个换行又不会被read()方法处理,而留给了readline(),这readline()看见回车,就觉得这行是结束了,(“行被定义为后跟回车符(十六进制 0x000d)、换行符(十六进制 0x000a)或 Environment.NewLine 属性值的字符序列。返回的字符串不包含终止字符。” 这也是msdn的),其实这个回车不是给他的,而是他前面的哥们留下的,但是他自作多情的以为结束了,所以就没给人类在输入的机会。应该是这个道理吧。。。。我语文学的不怎么好,也不知道这样说是不是你问的。。。
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
2013-08-04
展开全部
Console.Read() Console.ReadLine()方法都是从键盘读入信息,唯一不同的就是Console.Read() 方法用于获得用户输入的任何值(可以是任何的字母数字值)的ASCII值.Console.ReadLine()呢?用于将获得的数据保存在字符串变量之中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-04
展开全部
貌似 一个换行 一个不换行吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询