Çoğu zaman onaltılık değerler kullanan bayrak enum bildirimleri görüyorum. Örneğin:
[Flags]
public enum MyEnum
{
None = 0x0,
Flag1 = 0x1,
Flag2 = 0x2,
Flag3 = 0x4,
Flag4 = 0x8,
Flag5 = 0x10
}
Bir sıralama beyan ettiğimde, genellikle şu şekilde beyan ederim:
[Flags]
public enum MyEnum
{
None = 0,
Flag1 = 1,
Flag2 = 2,
Flag3 = 4,
Flag4 = 8,
Flag5 = 16
}
Bazı insanların değeri ondalık yerine onaltılık olarak yazmayı seçmesinin bir nedeni veya mantığı var mı? Gördüğüm kadarıyla, onaltılık değerleri kullanırken kafanızın karışması ve Flag5 = 0x16
bunun yerine yanlışlıkla yazmak daha kolay Flag5 = 0x10
.
Flag1 | Flag2
3'tür ve 3 herhangi bir alan değerine karşılık gelmez MyEnum
.
10
ziyade0x10
sen ondalık sayılar kullanılırsa? Özellikle bunlar uğraştığımız ikili sayılar olduğundan ve onaltılık önemsiz bir şekilde ikiliye / ikiliden dönüştürülebilir mi?0x111
birinin kafasından tercüme etmek273
...