+123
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
private bool IsInt(object ValueToCheck)
{
int Dummy = new int();
string InputValue = Convert.ToString(ValueToCheck);
//If user enters 45.00 This should not be allowed
//User must enter numbers without .00
if(InputValue.Contains("."))
return false;
bool Int = int.TryParse(InputValue, System.Globalization.NumberStyles.Any, null, out Dummy);
return Int;
}
Уже другой индусский автор наговнокодил. Орфография сохранена. Причем он сам себе в ногу выстрелил используя NumberStyles.Any...
Вот как надо:
private static bool IsInt(string valueToCheck)
{
int dummy;
return int.TryParse(valueToCheck, System.Globalization.NumberStyles.None, null, out dummy);
}
Запостил:
piocsic,
01 Марта 2011
{
Convert.ToInt32(valueToCheck);
return true;
}catch
{
return false;
}
почему
а не
Лично мне симпатичен второй вариант - но, может быть, я что-то упускаю?
Вот если переписать на
тогда ставить return false; в catch или после одинаково на мой взгляд.
Кошернее всего было бы return false в catch (и ловить только исключения преобразования), а return true -- после try...catch.