我可以在C#中优化检查多个空值吗?

Sam*_*tar 0 c#

我有以下代码:

if (Session["CurrentUrl"] != null & Session["CurrentHost"] != null)
Run Code Online (Sandbox Code Playgroud)

我在很多地方使用它.我想知道是否有人能想出一种优化C#代码的方法,只是为了让事情更加清晰.

Jon*_*Jon 8

这似乎是扩展方法的主要候选者:

public static class SessionExtensions
{
    public static bool HasHostAndUrl(this HttpSessionState session)
    {
        return session["CurrentUrl"] != null && session["CurrentHost"] != null;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后:

if (Session.HasHostAndUrl()) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)


Den*_*aub 5

if (HostAndUrlExist()) {
    ...
}

public boolean HostAndUrlExist() {
    return Session["CurrentUrl"] != null && Session["CurrentHost"] != null
}
Run Code Online (Sandbox Code Playgroud)