質問: ~(char)e; ``` ### まとめ 属性の管理をしたくてFlagsAttributeのenumを定義したので、符号情報は最初から不要です。 意図したとおりに反転できる方法をご教授いただければ幸いです。
回答: なぜ反転では駄目なのか不明ですが、全てのフラグを立てたものとの排他的論理和を求めることで実現できました。 ``` [Flags] public enum UnitElement { Blue = (1 << 0), // 青髪 Red = (1 << 1), // 赤髪 Male = (1 << 2), // 男性 Female = (1 << 3), // 女性 Human = (1 << 4), // 人間 Robot = (1 << 5), // 機械 Naked = (1 << 6), // 裸眼 Glass = (1 << 7), // 眼鏡 AllOne = 0b11111111, } // Blue, Male, Robot, Glass UnitElement e = (UnitElement.Blue | UnitElement.Male | UnitElement.Robot | UnitElement.Glass); // Red, Female, Human, Naked UnitElement invert = e ^ UnitElement.AllOne; ```