One thing that has bothered me about C# since its release was the lack of a generic IsNumeric function. I know it is difficult to generate a one-stop solution to detrmine if a value is numeric.
I have used the following solution in the past, but it is not the best practice because I am generating an exception to determine if the value is IsNumeric:
public bool IsNumeric(string input)
{
try
{
int.Parse(input);
return true;
}
catch
{
return false;
}
}
Is this still the best way to approach this problem or is there a more efficient way to determine if a value is numeric in C#?
Try this:
Of course, the behavior will be different from Visual Basic
IsNumeric. If you want that behavior, you can add a reference to “Microsoft.VisualBasic” assembly and call theMicrosoft.VisualBasic.Information.IsNumericfunction directly.