Если вы ищете целочисленное значение, вы можете использовать int.TryParse :
int result;
if (int.TryParse("123", out result))
{
Debug.WriteLine("Valid integer: " + result);
}
else
{
Debug.WriteLine("Not a valid integer");
}
Для проверки десятичного числа замените int.TryParse на Decimal.TryParse . Прочтите этот пост в блоге и комментарии "Почему вы должны использовать TryParse () в C #" для подробностей.
Если вам нужны десятичные числа, вы можете альтернативно использовать это регулярное выражение:
return System.Text.RegularExpressions.Regex.IsMatch(
TextValue, @"^-?\d+([\.]{1}\d*)?$");
И, наконец, другая альтернатива (если вы не религиозно против VB.NET ), вы можете использовать метод в пространстве имен Microsoft.VisualBasic:
Microsoft.VisualBasic.Information.IsNumeric("abc");