c# - 我怎样才能最好地检查 A xor B 是否为空?

标签 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;
}

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

bool CheckForNull(object a, object b)
{
    return a == null && b != null || a != null && b == null;
}

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

有没有我从未学过的标准方法?

最佳答案

这个怎么样:

return (a == null) != (b == null);

关于c# - 我怎样才能最好地检查 A xor B 是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34644354/

相关文章:

c# - 尽管未实现接口(interface),代码仍能正常工作

android - 重启后快捷方式 Intent 附加功能丢失了吗?

c# - 从对象转换为字符串时如何处理空异常?

php - 如何知道 PHP 变量是否存在,即使它的值为 NULL?

c# - 尝试建立与 SQL Server Express 的连接时出错

C#MVC : Return ViewModel or Model Class?

C# Entity Framework + Linq - 如何加速慢速查询?

c# - C#中的(true && false || true)是什么意思?

c++ - 具有多个条件 IF 语句的奇怪行为

c# - 如何构建真值表生成器?