http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 2428|回复: 3

[其他] 结束语句到底是那个

[复制链接]
发表于 2013-3-25 15:19:27 | 显示全部楼层 |阅读模式
为什么书里写 Console.ReadLine();是结束语句,而我看传智是写Console.ReadKey();
而且Console.ReadLine();是显示等待用户输入字符串后执行下一个语句。
那这两句话有什么差别




1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-3-25 15:28:15 | 显示全部楼层
首先我给你看看这两个方法的签名
[code=csharp] //
        //
        // 摘要:
        //     获取用户按下的下一个字符或功能键。按下的键显示在控制台窗口中。
        //
        // 返回结果:
        //     一个 System.ConsoleKeyInfo 对象,描述 System.ConsoleKey 常数和对应于按下的控制台键的 Unicode 字符(如果存在这样的字符)。System.ConsoleKeyInfo
        //     对象还以 System.ConsoleModifiers 值的按位组合描述是否在按下该控制台键的同时按下了 Shift、Alt 或 Ctrl 修改键中的一个或多个。
        //
        // 异常:
        //   System.InvalidOperationException:
        //     System.Console.In 属性是从非控制台的某种流进行重定向的。
        public static ConsoleKeyInfo ReadKey();
        //
        // 摘要:
        //     获取用户按下的下一个字符或功能键。按下的键可以选择显示在控制台窗口中。
        //
        // 参数:
        //   intercept:
        //     确定是否在控制台窗口中显示按下的键。如果为 true,则不显示按下的键;否则为 false。
        //
        // 返回结果:
        //     一个 System.ConsoleKeyInfo 对象,描述 System.ConsoleKey 常数和对应于按下的控制台键的 Unicode 字符(如果存在这样的字符)。System.ConsoleKeyInfo
        //     对象还以 System.ConsoleModifiers 值的按位组合描述是否在按下该控制台键的同时按下了 Shift、Alt 或 Ctrl 修改键中的一个或多个。
        //
        // 异常:
        //   System.InvalidOperationException:
        //     System.Console.In 属性是从非控制台的某种流进行重定向的。
        [SecuritySafeCritical]
        public static ConsoleKeyInfo ReadKey(bool intercept);
        //
        // 摘要:
        //     从标准输入流读取下一行字符。
        //
        // 返回结果:
        //     输入流中的下一行字符;如果没有更多的可用行,则为 null。
        //
        // 异常:
        //   System.IO.IOException:
        //     发生了 I/O 错误。
        //
        //   System.OutOfMemoryException:
        //     内存不足,无法为返回的字符串分配缓冲区。
        //
        //   System.ArgumentOutOfRangeException:
        //     下一行字符中的字符数大于 System.Int32.MaxValue。
        public static string ReadLine();[/code]
很明显ReadKey有一个重载,他的解释是 获取用户按下的下一个字符或功能键。按下的键可以选择显示在控制台窗口中。
也就是说一般用户询问用户输入Y和N进行退出时使用的,他只读取一个字符,
而ReadLine而不然 “从标准输入流读取下一行字符。” 意思是从你输入的字符流中读取一行。区别也就在这里吧,上面是一个字符,这里是一行。

 楼主| 发表于 2013-3-25 15:38:30 | 显示全部楼层
哦,后面的几个字才看懂,可能刚学的原因吧,前面的代码看不懂,谢谢管理员的认真回复。
发表于 2013-3-25 15:41:58 | 显示全部楼层
soul39 发表于 2013-3-25 15:38
哦,后面的几个字才看懂,可能刚学的原因吧,前面的代码看不懂,谢谢管理员的认真回复。

你只要认准取的个数就行了,一个是取一行,一个是取一个字符
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-2 22:56

© 2014-2021

快速回复 返回顶部 返回列表