C#使用会话值,如果不是null快捷方式

Dav*_*her 1 c#

在编写以下代码的C#中有一个较短的方法:

var token = Session["token"];
if(token != null)
{
    if((String)token != "")
    {
        var a = (String)token;
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有一个等效的string.IsNullOrEmpty(Object.ToString())对象可能是null而不会导致异常?

编辑:显示实际代码,交换"令牌"和"a"的变量名称.var a实际上是一个属性引用,但为了在将来的情况下有用,请将其保留为var a.

Jon*_*eet 10

如果你删除了冗余,你的代码将更容易开始:

var value = Session["value"];
if (value != null)
{
    string text = value.ToString();
    if (text != "")
    {
        // Use text
    }
}
Run Code Online (Sandbox Code Playgroud)

那已经表达了每次逻辑操作一次,这很好.

或者,您可以使用null-coalescing运算符:

var text = (Session["value"] ?? "").ToString();
if (text != "")
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

  • @ConradFrix:此时原始代码也会失败.我不是为了那个:) (2认同)