我只需要知道值是否为数字.我不需要对价值做任何事情.这是最好的方法吗?感觉很脏,创建一个我将永远不会使用的变量:
int val;
if(int.TryParse(txtFoo.Text, out val))
{
....
}
Run Code Online (Sandbox Code Playgroud)
是的,使用相关TryParse方法并忽略out参数是最好的方法。
您可能希望将其包装到您自己的一组辅助方法中(如果默认值不适合您,则可以指定适当的区域性等)并仅返回bool不带out参数的 a 以使它们更易于调用。
当然,您需要弄清楚哪种解析是最合适的 - 即使对于整数,您也需要考虑 的范围是否Int32足以满足您的用例。根据我的经验,大多数数字输入都有其自己的“自然”有效值范围,这不太可能恰好是任何预定义类型的范围。因此,您可能希望扩展辅助方法以包含要接受的有效值的范围。