gpt4 book ai didi

c# - 在 TextReader 上实现 ReadKey()

转载 作者:行者123 更新时间:2023-11-30 18:32:51 26 4
gpt4 key购买 nike

我有一个通过 TextReader 接受输入的类,并将允许该类从控制台或文本框接收输入。

以下是我正在尝试做的一个非常基本的示例:

using System.IO;

class TestReader()
{
public TextReader CurrentStream { get; }

public void SetInputStream( TextReader reader)
{
Reader = reader;
}
}

class Program
{
static void Main( string[] args )
{
TestReader rdr = new TestReader();
rdr.SetInputStream(Console.In);

var input = (char)rdr.CurrentStream.Read();

Console.WriteLine( "You selected: " + input );

}
}

如何更改上面的内容以实现 ReadKey(),因为上面示例中的 Read() 方法一直接受输入,直到按下 Enter 键?我想实现 ReadKey() 以便它只接受单个按键。

谢谢。

** 编辑 **

为了进一步澄清,我希望在不使用 Console.ReadKey() 的情况下实现 ReadKey()。我不确定这是否可能,因为到目前为止 Google 什么也没发现。

最佳答案

我用过

     ConsoleKeyInfo info;
do
{
info = Console.ReadKey();
} while (info.KeyChar != '\n' &&
info.KeyChar != '\r');

循环直到我按下回车键

如果您只有输入流或textBox,您可以只执行if 语句。在控制台的情况下使用我的示例,在 textBox 的情况下读取它的文本

关于c# - 在 TextReader 上实现 ReadKey(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18253758/

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