首先,Console.ReadKey()
不是答案。如何獲得第一個字符
我需要能夠擦除我寫的第一個字符。
基本上,我試圖做的是一個應用程序,可以測量您的打字速度。 它完美的作品,但我試圖找出美學。
我剛開始做的事情是打電話給Console.ReadKey()
,然後調用這個函數啓動一個Timer(當然,在我寫了一個應用程序之後,我發現它恰好是一個Stopwatch類._。),我會將用戶輸入的字符串存儲爲Console.ReadLine()
,然後停止該定時器。
static Word[] getWords()
{
Word[] words;
int c = Console.ReadKey().KeyChar;
Timing.start();
string str = (c.ToString() + Console.ReadLine()).ToLower();
charCount = str.Length;
words = Word.process(str);
Timing.stop();
return words;
}
charCount
是一個靜態int和Word
僅僅是包裝一個字符串的類。 Word.process
是一個函數,它接受一個字符串,省略所有符號並返回用戶輸入的單詞數組。 Timing
只是一個包裝Timer
類的類。 我認爲這就是所有需要解釋的代碼。
我需要做的就是撥打Timing.start()
當用戶鍵入一個字符,他必須能夠擦除它。
是否必須是一個控制檯應用程序?因爲如果你被允許使用Windows窗體,那真的不是正確的工具... – Ryan 2012-07-12 14:22:52
谷歌「基於事件的鍵盤輸入」 – 2012-07-12 14:23:32
爲什麼'Console.ReadKey()'不是答案?因爲你需要能夠使用退格鍵?是否有任何理由不能使用'Console.ReadKey()'並自己處理退格功能? – 2012-07-12 14:25:13