2017-07-20 7 views
-1

TextBoxでユーザー入力を受け取りましたが、これがintに変換されるため、Calculateボタンをクリックするとさらに計算に使用できます。ユーザーの入力が文字かどうかを確認

CalculateボタンをクリックしたときにTextBoxが空であるかどうかを確認しました。そうであれば、メッセージボックスが表示されます。今私はそれが数字であることを確認する必要があることを認識した。私はこの

if(hoursInput.Text == "" || hoursInput.Text contains "a-z") 
{ 
    \\ handle error 
} 
else 
{ 
    \\ continue with code 
} 

EDITに似たものを探しています:

ユーザー入力がelseブロック内でintに変換されますが、私は、文字列からの変換のこの段階に到達するために機能をしたくありませんユーザ入力は、私が述べたように、ユーザー入力がifブロック

答えて

0

内の任意の文字が含まれているかどうかを確認したい理由です手紙を、含まれている場合は、int型の入力ができたかどうかのboolを返しますどのInt32.TryParseを使用しますInt32に解析されます。パラメータの1つはoutで、入力が解析できる場合はInt32になります。

参照: https://msdn.microsoft.com/en-us/library/f02979c7(v=vs.110).aspx

if(hoursInput.Text == "" || !Int32.TryParse(hoursInput.Text, out number)) 
{ 
\\ handle error 
} 
else 
{ 
\\ continue with code 
} 
1

あなたは本当に、明示的に何をチェックする必要はありません。

int aNumber; 
if (!Int32.TryParse(hoursInput.Text, out aNumber)) { 
    // handle error 
} else { 
    // handle `aNumber` 
} 
関連する問題