首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Console.ReadKey()的奇怪行为

来自Console.ReadKey()的奇怪行为
EN

Stack Overflow用户
提问于 2019-08-15 18:02:06
回答 1查看 73关注 0票数 2

输出如下所示:

代码语言:javascript
复制
 ]      [ Your input is: ffffffwwqqqwffasfffffffw
    >

当你使用退格键的时候,为什么会发生这种情况呢

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;

namespace ConsoleApp7
{
    class Program
    {
        public static string input;

        static Program()
        {
            input = string.Empty;
        }

        static void Main(string[] args)
        {
            while (true)
            {
                ConsoleKeyInfo consoleKeyInfo;

                Console.Clear();

                Console.Out.Write($"\r\n\t[ Your input is: {input} ]\r\n\r\n\t>");

                consoleKeyInfo = Console.ReadKey();

                if (consoleKeyInfo.Modifiers == default(ConsoleModifiers))
                    input += consoleKeyInfo.KeyChar;

                Thread.Sleep(250);
            }
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-08-15 18:06:55

退格符是ReadKey要处理的有效字符,当您将退格符字符连接到字符串时,它将从输出中的字符串中删除最后一个字符。您可以检查按下的键是否是退格键并忽略它。

代码语言:javascript
复制
if (consoleKeyInfo.Modifiers == default(ConsoleModifiers) && consoleKeyInfo.Key != ConsoleKey.Backspace)
    input += consoleKeyInfo.KeyChar;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57507981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档