当值以字符串形式出现时如何验证整数值?

时间:2013-12-20 08:52:30

标签: c# asp.net-mvc

我只需要将一个intergers传递给一个方法。但是如果传递了字符串值,那么将获得异常。为了避免我使用

Int32.tryparse(vatiraleparamter,out int resultparam);

但它显示代码违规。我们不会使用varieable。请告诉我如何避免这种情况。

4 个答案:

答案 0 :(得分:4)

在将integer变量resultparam传递给TryParse()方法之前,您应该声明它。 试试:

    int resultparam;
    if(Int32.TryParse(vatiraleparamter,out resultparam))
    {
      //parsing is successfull.
    }

答案 1 :(得分:4)

这是不正确的:out int resultparam

您需要传递一个现有的int - 变量,该变量将在int.TryParse中初始化。

所以语法如下:

int resultparam;
bool success = Int32.TryParse(vatiraleparamter, out resultparam);

如果可以成功解析字符串,它将在Int32.TryParse中设置。您还会得到bool,表示相同。

答案 2 :(得分:0)

最好使用此版本的TryParse,同时传递IFrmatProvider:http://msdn.microsoft.com/en-us/library/zf50za27(v=vs.110).aspx 这样,该函数可以识别组分隔符(在某些文化中也可能是逗号)的小数分隔符(可能是逗号)

我提到的文章也有很多例子。

答案 3 :(得分:0)

您需要将现有的int变量传递给TryParse方法。您还可以创建一个包装此功能的方法,然后适当地传递代码

private static bool StringParsesAsInt(string value)
{
    int result;
    return Int32.TryParse(value, out result);
}

...

if StringParsesAsInt(vatiraleparamter) 
{
}