我正在使用按位枚举从函数返回值
[Flags]
private enum PatientRecord { NoRecord=0x0, SameEnrollmentDate=0x1, SameScreeningDate=0x2 }
并有一个功能
var returnVar = PatientRecord.NoRecord;
....
if (condition...)
{
returnVar &= PatientRecord.SameEnrollmentDate;
}
return returnVar
调试器显示 returnVar 在AND 赋值运算符执行之前和之后具有相同的值(即 PatientRecord.NoRecord (0) 或 PatientRecord.SameScreeningDate (2))。
为什么会这样,有没有比以下更简洁的解决方案:
returnVar = returnVar & PatientRecord.SameEnrollmentDate;
谢谢。