だから私はこのコードに出くわしました:
[Flags]
public enum Options
{
NA = 0,
OptionA = 1,
OptionB = 2,
OptionC = 4
}
現在、技術的には「NA」は無効です。ユーザーがオプションを選択したくない場合は、オプションを選択せず、null許容整数に保存されます。「なし」オプションはありません。ただし、ユーザーがオプションACを選択すると、NAも常に追加されます。変更するNA = 1
とOptionC = 8
、すべてがうまく機能します。その部分は理にかなっています。しかし、どうしてNAが常にユーザーのオプションリストに含まれるのNA = 0
でしょうか。
編集:
いくつかのことを明確にするために、NAは排他的ですが、OptionBを選択する場所で、選択したオプションを表示すると、NAとOptionBを選択したことが表示されます。