コンパイルしますが、すべきではありません
[Flags]
enum TransactionData : long // 64 bits. Last bit is sign bit, but I'm putting data there
{
None = 0,
Color1 = 1 << 63,
}
エラーですが、すべきではありません
[Flags]
enum TransactionData : ulong // 64 bits. No sign bit. Not allowed to put data there
{
None = 0,
Color1 = 1 << 63,
}
コンパイラ エラー テキスト:
-2147483648 は ulong に変換できません
質問:
私は逆のことが起こると予想します。これがなぜなのか説明できる人はいますか?
byte[]
また、このフラグ属性を検査用に出力するにはどうすればよいですか?
var eee = TransactionData.None | TransactionData.Color1
// How do I convert eee to byte[]?