如何最好地检查A xor B是否为空?

Evo*_*lor 8 c# null boolean-logic xor

检查只有A是空还是只有B为空的最佳方法是什么?我一直在尝试许多不同的方法来找到感觉干净的东西,这就是它变得多么复杂:

bool CheckForNull(object a, object b)
{
    if(a == null && b == null)
    {
        return false;
    }
    if(a == null || b == null)
    {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我最好的(也是最明显的)版本是:

bool CheckForNull(object a, object b)
{
    return a == null && b != null || a != null && b == null;
}
Run Code Online (Sandbox Code Playgroud)

但我也不喜欢那样.(当然我可以添加括号......)

有没有一种标准的方法可以做到这一点我从未学过?

Yac*_*sad 17

那这个呢:

return (a == null) != (b == null);
Run Code Online (Sandbox Code Playgroud)