このコードを持っていて、その数がテキストボックスの数よりも大きいかどうかを検出する方法があるかどうかを知りたい場合は、助けが必要ですか?
if (textbox1.text == "2")
{
//code
}
とにかく数がそれより大きいかどうかを検出するためにあるのだろうかと思ってtextbox1.text = "5"
いたので、2より大きいと言うので、ifコマンドからのコードを実行しますか?
int value;
if (Int32.TryParse(textbox1.Text, out value))
{
if (value > 2)
// code
}
else
{
// not a number in textbox
}
実際のアプリケーションのサンプル:
TimeSpan timeOfDay = DateTime.Now.ToLocalTime().TimeOfDay;
if (8 < timeOfDay.Hours && timeOfDay.Hours < 16)
{
// day
}
else
{
// night
}
拡張メソッドを作成できます。
public static bool IsDayTime(this DateTime date)
{
TimeSpan timeOfDay = date.TimeOfDay;
return 8 < timeOfDay.Hours && timeOfDay.Hours < 16;
}
そしてそれをこのように使用します:
var date = DateTime.Now.ToLocalTime();
var file = Path.Combine(Folder, date.IsDayTime() ? "Day.bmp" : "Night.bmp");
picThumbnail.ImageLocation = file;
picThumbnail.SizeMode = PictureBoxSizeMode.Zoom;
SystemParametersInfo(20, 0, file, 0x01 | 0x02);
var rkWallPaper = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", true);
rkWallPaper.SetValue("WallpaperStyle", 2);
rkWallPaper.SetValue("TileWallpaper", 0);
rkWallPaper.Close();
テキスト値を解析してから確認します...
if(Convert.ToInt32(Textbox.Text) > 2) { //Do something here }
if(Int32.Parse(textbox1.text) < number)
{
// code
}
無効な値の場合の例外をキャッチします。またはTryParse
、引数を持ちout
、数値が実際に解析されたかどうかを返す which を使用します。
テキストを数値として解析する必要があります。そうすれば、やりたいことができます。
C#のInt32クラスには、次のように使用するTryParseメソッドがあります。
bool result = Int32.TryParse(textbox1.text, out number);
if (number > 2)
{
...
}
これは、入力値と出力値を持つメソッドです。結果は、bool
実際には、入力値を解析する試み('Try')が機能したかどうかの指標であり、次のように防御的に使用できます。
bool result = Int32.TryParse(textbox1.text, out number);
if (result)
{
// the parse worked
// do something with 'number'
}
else
{
Messagebox.Show(string.Format("Could not convert {0} to a number", textbox1.text));
}