我正在尝试简化if语句,使其更具可读性,
逻辑检查x
和y
的值是否不同于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;
}
答案 0 :(得分:3)
您可以将其压缩为一个语句:
bool IsBothMatch(MyClassX x, MyClassY y) {
return x.MyEnumVal == MyEnum.Undefined
|| y.MyEnumVal == MyEnum.Undefined
|| x.MyEnumVal == y.MyEnumVal;
}
答案 1 :(得分:0)
如果要比较两个相似的类,则可以继承IEquatable<T>
您在课程上继承
public class MyClassX : IEquatable<MyClassX>
{
}
然后您可以比较两者
MyClassX.Equals(MyClassY);