在检索查询字符串的方法中返回语句的更好语法

时间:2011-08-17 08:46:01

标签: c# .net asp.net query-string

我使用这个简单的方法从页面中检索查询字符串并返回Int。如果找不到有效的ID,我希望返回默认值int 0

我想知道是否有更好的方法来编写此方法,详细信息:

  • 最好只使用一个return语句而不是两个?如果是,最好的方法是什么?
  • 检索查询字符串时,我应该执行任何其他检查吗?

感谢您抽出宝贵时间。

protected int GetPageIndex()
{
    int output;
    bool result = Int32.TryParse(Request.QueryString["page"], out output);
    if(result)
        return output;
    return output = 0; // Return Default value
}

5 个答案:

答案 0 :(得分:5)

在尝试解析它之前初始化它...无论如何,如果转换不成功,Int32.TryParse将值设置为0 ... :) http://msdn.microsoft.com/en-us/library/f02979c7.aspx

protected int GetPageIndex()
    {
        int output = 0;
        Int32.TryParse(Request.QueryString["page"], out output);
        return output;
    }

答案 1 :(得分:3)

您可以安全地返回output,因为您似乎并不关心TryParse是否成功,以及将值0分配给{{1}最初,为了清楚起见,那么无论如何output失败将会返回。

TryParse

答案 2 :(得分:1)

如何使用更少的代码,关于检查查询字符串我不认为你需要检查null,因为try解析应该处理null值。

protected int GetPageIndex()
{
    int output;
    return Int32.TryParse( Request.QueryString[ "page" ], out output ) ? output : 0;
}

答案 3 :(得分:0)

我会去

protected int GetPageIndex()
{
    int output = 0;
    Int32.TryParse(Request.QueryString["page"], out output);
    return output; 
}

答案 4 :(得分:0)

int output;
return Int32.TryParse(Request.QueryString["page"], out output) ? output : 0;