我正在尝试简化此if语句,使其更具可读性,
逻辑检查xy的值是否不同于Undefined,如果不相等,则返回false。

bool IsBothMatch(MyClassX x, MyClassY y)
{
    if (y.MyEnumVal != MyEnum.Undefined &&
        x.MyEnumVal != MyEnum.Undefined)
    {
        if (x.MyEnumVal != y.MyEnumVal)
            return false;
    }

    return true;
}

最佳答案

您可以将其压缩为一个语句:

bool IsBothMatch(MyClassX x, MyClassY y) {
  return x.MyEnumVal == MyEnum.Undefined
      || y.MyEnumVal == MyEnum.Undefined
      || x.MyEnumVal == y.MyEnumVal;
}

10-04 16:38