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

Gib*_*boK 1 .net c# asp.net query-string

我使用这个简单的方法从页面中检索一个返回a的查询字符串Int.如果找不到有效的Id,我想返回一个默认值int 0.

我想知道是否有更好的方法来编写这个方法,详细说明:

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

谢谢你的时间.

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

Eri*_*oen 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;
    }
Run Code Online (Sandbox Code Playgroud)

  • 没有必要用`0`初始化,因为如果转换失败,`TryParse`忽略任何设置为'0'的输入值.如果使用其他值(`int output = 1`)初始化,则转换失败后仍将具有值"0".所以初始化它可能会令人困惑. (2认同)