まず第一にConsole.ReadKey()
、答えではありません。
最初に書いた文字を消去できる必要があります。
基本的に、私がやろうとしているのは、タイピング速度を測定するアプリケーションです。それは完璧に機能しますが、私は美学を解決しようとしています.
私が最初に行っていたことは、 を呼び出しConsole.ReadKey()
、次に Timer を開始するこの関数を呼び出すことでした (アプリケーションを作成してから 30 分後に、たまたま 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
は static int でありWord
、文字列をラップする単なるクラスです。
Word.process
文字列を受け取り、すべての記号を省略して、ユーザーが入力した単語の配列を返す関数です。
Timing
クラスをラップするだけのTimer
クラスです。コードに関して説明する必要があるのはそれだけだと思います。
私がする必要があるのはTiming.start()
、ユーザーが文字を入力したときに呼び出すことであり、ユーザーはそれを消去できる必要があります。