我有一个通过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 );
}
}当上面示例中的Read()方法在按下Enter键之前一直接受输入时,我如何更改以上内容以实现ReadKey()?我想实现ReadKey(),这样它就只接受一次按键。
谢谢。
**编辑**
为了进一步说明问题,我打算在不使用Console.ReadKey()的情况下实现ReadKey()。我甚至不确定这是不是可能,因为谷歌到目前为止什么都没有发现。
发布于 2013-08-15 21:37:42
我用过
ConsoleKeyInfo info;
do
{
info = Console.ReadKey();
} while (info.KeyChar != '\n' &&
info.KeyChar != '\r'); 循环,直到我得到enter键
如果您只有输入流或textBox,则可以只执行一条if语句。在控制台情况下使用我的示例,在textBox情况下读取它的文本
https://stackoverflow.com/questions/18253758
复制相似问题