関数から値を返すためにビットごとの列挙型を使用しています
[Flags]
private enum PatientRecord { NoRecord=0x0, SameEnrollmentDate=0x1, SameScreeningDate=0x2 }
そして機能を持っています
var returnVar = PatientRecord.NoRecord;
....
if (condition...)
{
returnVar &= PatientRecord.SameEnrollmentDate;
}
return returnVar
デバッガーは、AND 代入演算子が実行される前後で returnVar の値が同じであることを示しています (PatientRecord.NoRecord (0) または PatientRecord.SameScreeningDate (2))。
なぜこれなのか、以下よりも優れた解決策はありますか:
returnVar = returnVar & PatientRecord.SameEnrollmentDate;
ありがとう。