c#中readkey的用法是怎么样的

问题描述

c#中readkey的用法是怎么样的
c#中readkey,输入a,得到的为什么是A,输入8为什么得到的是D8

解决方案

readkey得到的是键盘代码。键盘代码是一个枚举,比如说,D8代表数字区的8,A表示字母区的A。
无论是a和A,你按下的都是A这个键,所以一样。
你要读取字符用ReadChar

解决方案二:

         /// <summary>        /// Read password from console        /// </summary>        /// <returns>password</returns>        public static string ReadPassword()        {            char[] revisekeys = new char[3];            revisekeys[0] = (char)0x08;            revisekeys[1] = (char)0x20;            revisekeys[2] = (char)0x08;            StringBuilder sb = new StringBuilder();            while (true)            {                ConsoleKeyInfo kinfo = Console.ReadKey(true);                if (kinfo.Key == ConsoleKey.Enter)                {                    break;                }                if (kinfo.Key == ConsoleKey.Backspace)                {                    if (sb.Length != 0)                    {                        int rIndex = sb.Length-1;                        sb.Remove(rIndex 1);                        Console.Write(revisekeys);                    }                    continue;                }                sb.Append(Convert.ToString(kinfo.KeyChar));                Console.Write(""*"");            }            return sb.ToString();        }

解决方案三:
你要读取字符用Console.Read()

https://msdn.microsoft.com/zh-cn/library/471w8d85.aspx

https://msdn.microsoft.com/zh-cn/library/system.consolekeyinfo.aspx

你可以写
var key = Console.ReadKey();
if ((key.Modifiers & ConsoleModifiers.Control) != 0)
Console.WriteLine(""你按下了ctrl"");

解决方案四:
搞定了,谢啦,但是那个revisekeys的char数组是干嘛用的

时间: 2024-09-20 00:16:05

c#中readkey的用法是怎么样的的相关文章

python中enumerate函数用法实例分析

  本文实例讲述了python中enumerate函数用法.分享给大家供大家参考.具体分析如下: 今日发现一个新函数 enumerate .一般情况下对一个列表或数组既要遍历索引又要遍历元素时,会这样写: ? 1 2 for i in range (0,len(list)): print i ,list[i] 但是这种方法有些累赘,使用内置enumerrate函数会有更加直接,优美的做法,先看看enumerate的定义: ? 1 2 3 4 5 6 7 def enumerate(collect

Excel中sumif函数用法

今天接着给大家来关于Excel中sumif函数用法的操作技巧,那么就有人问了,学会了Excel中sumif函数用法有什么作用呢,不要急,下面就请听小编一一给大家进行详细的讲解: 一.SUMIF函数介绍 SUMIF函数根据指定条件对若干单元格求和,该条件可以是数值.文本或表达式,可以应用在人事.工资和成绩统计中. 二.SUMIF函数用法 sumif函数语法是:SUMIF(range,criteria,sum_range) 第一个参数:Range为条件区域,用于条件判断的单元格区域. 第二个参数:C

error-请教iOS中CMPedometer的用法

问题描述 请教iOS中CMPedometer的用法 10C #import @implementation FirstViewController (void)viewDidLoad { [super viewDidLoad]; [CMPedometer isStepCountingAvailable]; CMPedometer *pedonmeter = [[CMPedometer alloc] init]; [pedonmeter startPedometerUpdatesFromDate:

python中threading超线程用法实例分析

  本文实例讲述了python中threading超线程用法.分享给大家供大家参考.具体分析如下: threading基于Java的线程模型设计.锁(Lock)和条件变量(Condition)在Java中是对象的基本行为(每一个对象都自带了锁和条件变量),而在Python中则是独立的对象.Python Thread提供了Java Thread的行为的子集;没有优先级.线程组,线程也不能被停止.暂停.恢复.中断.Java Thread中的部分被Python实现了的静态方法在threading中以模

python中的闭包用法实例详解

  这篇文章主要介绍了python中的闭包用法,以实例形式详细分析了Python中闭包的概念及相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了python中的闭包用法.分享给大家供大家参考.具体分析如下: 什么是闭包? 简单说,闭包就是根据不同的配置信息得到不同的结果 再来看看专业的解释:闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数.这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外.所以,有另

asp中Split的用法示例

示例|split 大家有没有碰到过要想取一字符串里的某些值而无从下手?有没有觉得看书或教材对split的写法糊里糊涂--如果有此疑问的话,请看下面我对例子的解释,相信您会对这个有一定的了解. 例如我想取得一个ftp里的用户名及密码(服务器等)值(用IE当FTP时或从表中取出FTP的值).下面是我的解决思路:设url为收到的URL值,这里指:url=ftp://username:password@server,请注意这句暗墓媛?br>我想大家都看清楚这个URL里的规律了吧,就是各个部分都被"

JSP中日期的用法

js|日期 作者: BUILDER.COM 在开发有关日历的应用程序时,不规则的每月日期数.每周天数和周末的计算一直是个很费脑筋的问题.结果,日期和时间的编程经常令程序员新手畏缩不前.本文将演示在JSP应用程序中日期的用法,为读者完成某些常见任务提供方便的参考. 目的 示例应用程序的目的是: 通过HTML表单把日期参数提交某个JSP页来处理. 接收日期参数并创建Calendar对象. 采用Calendar对象找出提交的日期是一周的第几天以及选中月份里有多少工作日. 用用户易于阅读的显示格式对日期

java中final的用法

许多程序设计语言都有自己的办法告诉编译器某个数据是"常数".常数主要应用于下述两个方面: (1) 编译期常数,它永远不会改变 (2) 在运行期初始化的一个值,我们不希望它发生变化 对于编译期的常数,编译器(程序)可将常数值"封装"到需要的计算过程里.也就是说,计算可在编译期间提前执行,从而节省运行时的一些开销.在Java中,这些形式的常数必须属于基本数据类型(Primitives),而且要用final关键字进行表达.在对这样的一个常数进行定义的时候,必须给出一个值.

python中的全局变量用法分析

 本文实例分析了python中的全局变量用法.分享给大家供大家参考.具体分析如下: Python是一种面向对象的开发语言,在函数中使用全局变量,一般应作全局变量说明,只有在函数内经过说明的全局变量才能使用,这里就来介绍下Python全局变量有关问题. 首先应该说明的是需要尽量避免使用Python全局变量.不同的模块都可以自由的访问全局变量,可能会导致全局变量的不可预知性.对全局变量,如果程序员甲修改了_a的值,这时可能导致程序中的错误.这种错误是很难发现和更正的. 全局变量降低了函数或模块之间的