コンソールにaz文字のみを入力するユーザーを制限することはできません-入力を確認する必要があります。彼は任意の文字を書き込むことができます(入力がファイルからプログラムにリダイレクトされるときを考えてみてください<、たとえばyourapp.exe < input.dat )。
しかし、文字が小文字のaz文字であることを確認するのは簡単です。たとえば、プレーン、ASCII、C 戦術 (定義済みの変数を使用します):
if('A' <= pre3 && pre3 <'Z') { // pre3 was made upper in your code
// input OK
} else {
// input NOK
}
正規表現を使用:
Regex r = new Regex(@"^[a-zA-Z]$");
return r.IsMatch(pre);
大文字と小文字を区別しない文字を許可できない場合は、私が書いたコードを変更してください。
とにかく、Console.Read() が必要だと思います (ReadKey は、矢印、F1-F12 などのキーも読み取るため、すべてのキー、さらにはタブと Caps Lock)。MSDN を参照してください: http://msdn.microsoft.com/en-us/library/system.console.read.aspx
また、Unicode 文字をサポートする場合は、この関数を使用する必要があるかもしれません: http://msdn.microsoft.com/en-us/library/yyxz6h5w.aspx
Unicode 文字は通常 1 バイトではないことに注意してください。しかし、char はそれを格納できます。これらの文字は、たとえば、急性記号を含む美しいハンガリー文字と、á、é、ő、ű、ö、ü などの王様です (ただし、フランス語にも多くの文字があり、オランダ語などもあります...)