gpt4 book ai didi

c# - 来自 Console.ReadKey() 的奇怪行为

转载 作者:太空宇宙 更新时间:2023-11-03 11:59:56 27 4
gpt4 key购买 nike

输出看起来像这样:

 ]      [ Your input is: ffffffwwqqqwffasfffffffw
>

当您使用 BACKSPACE 时,这本来是不可能的,为什么会这样

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);
}
}
}
}

最佳答案

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

if (consoleKeyInfo.Modifiers == default(ConsoleModifiers) && consoleKeyInfo.Key != ConsoleKey.Backspace)
input += consoleKeyInfo.KeyChar;

关于c# - 来自 Console.ReadKey() 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57507981/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com