A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 鬼鬼 于 2014-3-23 22:38 编辑

请问如果从键盘向控制台输入回车,再用ReadKey()读取,那读到的究竟是什么?
我们知道文本文件中的换行本质就是 \r\n,但这不是两个字符么?
如果我用ReadKey()的话能一次性将二者读入么?
还是说控制台中的换行跟文本文件中的不一样?

3 个回复

正序浏览
鬼鬼 发表于 2014-3-21 00:24
还是不太明了啊 ,如果是这样的话,那从回车键得到的结构体中KeyChar的值又是多少呢? ...

我也不是很明了啊 我也是从网上看到的资料 等我再看看 看到说的很明白的再来回吧
回复 使用道具 举报
threederek 发表于 2014-3-20 14:31
看了lz问题后发现也不太明白,搜到的资料里有这么一段,应该是红字那段里面说的有个匹配
在.NET Framework  ...

还是不太明了啊 ,如果是这样的话,那从回车键得到的结构体中KeyChar的值又是多少呢?
回复 使用道具 举报
看了lz问题后发现也不太明白,搜到的资料里有这么一段,应该是红字那段里面说的有个匹配
在.NET Framework 2.0以后,Console类增添了一个新的方法ReadKey(),该函数以非逐行缓冲的方式读取按键。
ReadKey()方法有两种形式,如下所示:
static ConsoleKeyInfo ReadKey();
static ConsoleKeyInfo ReadKey(bool intercept);
第一种形式将等待从键盘的输入,当用户按下某个按键时,立即返回该键,并在屏幕上显示相应的键。第二种形式也等待从键盘输入,当有键按下时立即返回该键,如果intercept为真,就不会显示该键,如果intercept为键,则屏幕上显示相应的键。
从上面的函数定义可以看到,该函数返回一个ConsoleKeyInfo对象,该对象时一个结构体,包含下面的只读属性:
char KeyChar
ConsoleKey Key
ConsoleModifiers Modifiers
其中,KeyChar属性包含了与所按下的键相匹配的char类型值。Key属性包含了一个ConsoleKey枚举定义的枚举值,ConsoleKey枚举定义了与键盘上所有按键相对应的键值。
ConsoleModifiers枚举定义了键盘按键的修饰符,如Shift,Ctrl和Atl。

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马