巧用 .NET 中的「合并运算符」获得 URL 中的参数

2022-12-31,,,,

获取 URL 中的 GET 参数,无论用什么语言开发网站,几乎是必须会用到的代码。但获取 URL 参数经常需要注意一点就是要先判断是否有这个参数存在,如果存在则取出,如果不存在则用另一个值。这个运算称为「合并运算」,在 JavaScript 非常常见的 || 两个竖线,就是这个意思。今天无意中在 ASP.NET 也看到了「合并运算符」,与 JavaScript 不同的是,它在 .NET 中是用 ?? 两个问号表示的。于是马上就想到可以用在 URL 参数的获取上,大大精简了代码:

protected void Page_Load(object sender, EventArgs e)
{
    string type = Request["type"] ?? "all"; // 取得类别,默认为全部
    string keyword = Request["s"] ?? "";    // 搜索关键字
}

再贴上以前代码做个对比:

private string type
{
    get
    {
        return string.IsNullOrEmpty(Request["type"])
            ? Request["type"]
            : "all";
    }
}

private string keyword
{
    get
    {
        return string.IsNullOrEmpty(Request["s"])
            ? Request["s"]
            : "";
    }
}

相比之下确实简洁了不少。

当然这只是个简单的例子,具体如何去完善,以及确保防 URL 中的非法参数等,还要看不同项目中再进行改进。更多资料可以看 MSDN 中关于「合并运算符」这篇参考文档。

巧用 .NET 中的「合并运算符」获得 URL 中的参数的相关教程结束。

《巧用 .NET 中的「合并运算符」获得 URL 中的参数.doc》

下载本文的Word格式文档,以方便收藏与打印。