を使用して負の数をチェックすることは可能Int32.TryParse
ですか?
int defaultTop;
displayTop = (Int32.TryParse(DisplayTop, out defaultTop) ? Convert.ToInt32(DisplayTop) : 1000 );
使ってみませんUInt32.TryParse(DisplayTop, out defaultTop)
か?
これは、数値が0または正の場合はtrueを返し、負の場合はfalseを返します。
これを試して
int defaultTop;
var isValidInt = Int32.TryParse(DisplayTop, out defaultTop);
displayTop = isValidInt && defaultTop >= 0 ? defaultTop : 1000;
TryParse だけではそれを行うことはできませんdefaultTop
。個別に値を確認する必要があります。すべてを1行にまとめたい場合は、次を試してください。
displayTop = ((Int32.TryParse(DisplayTop, out defaultTop) && defaultTop >= 0) ? defaultTop : 1000 );
Math.Max を使用します。
displayTop = Math.Max(1,(Int32.TryParse(DisplayTop, out defaultTop) ? Convert.ToInt32(DisplayTop) : 1000 ));
確かに、このような長い式はやや醜いですが、機能します。