আমি বহু বার পতাকা এনাম ঘোষণা দেখতে পাই যা হেক্সাডেসিমাল মান ব্যবহার করে। উদাহরণ স্বরূপ:
[Flags]
public enum MyEnum
{
None = 0x0,
Flag1 = 0x1,
Flag2 = 0x2,
Flag3 = 0x4,
Flag4 = 0x8,
Flag5 = 0x10
}
যখন আমি একটি এনাম ঘোষণা করি, আমি সাধারণত এটির মতো ঘোষণা করি:
[Flags]
public enum MyEnum
{
None = 0,
Flag1 = 1,
Flag2 = 2,
Flag3 = 4,
Flag4 = 8,
Flag5 = 16
}
কিছু লোক কেন দশমিকের চেয়ে হেক্সাডেসিমালে মান লিখতে পছন্দ করে তার কোনও যুক্তি বা যুক্তি রয়েছে? আমি এটি যেভাবে দেখছি, হেক্স মানগুলি ব্যবহার করার সময় বিভ্রান্ত হওয়া এবং দুর্ঘটনাক্রমে Flag5 = 0x16
পরিবর্তে লিখতে আরও সহজ Flag5 = 0x10
।
Flag1 | Flag2
3, এবং 3 এর কোনও ডোমেন মানের সাথে মিলে না MyEnum
।
10
না করে লেখার চেয়ে কম কিছুর সম্ভাবনা রয়েছে0x10
? বিশেষত যেহেতু এগুলি বাইনারি সংখ্যার সাথে আমরা কাজ করছি এবং হেক্স বাইনারি থেকে / থেকে তুচ্ছ রূপান্তরিত হয়?0x111
কারও মাথায় অনুবাদ করা কম বিরক্তিকর273
...