Neden bir Numaralama temel türü yerine Int32 bayt yapmalıyım?
Verilen aşağıdaki numaralama:
public enum Operations_PerHourType : byte
{
Holes = 1,
Pieces = 2,
Sheets = 3,
Strips = 4,
Studs = 5
}
Microsoft kod analiz aracı çalıştırdığımda, bana söyler:
CA1028 : Microsoft.Olası, 'Çeteleler.temel tip tasarım : Operations_PerHourType' Sistemi.Yerine ''. Int32 bayt
Daha birkaç olası değerleri olacak, bir bayt olarak ilan etti. Neden ınt32 kullanmanızı tavsiye ederim? Gelecekte bu özelliği kullanabilmek için daha fazla değer? Yoksa performans artışı mı?
CEVAP
Bu nedenle MSDN bir göz var.
İşte bir alıntı:
Bir numaralandırma ile ilgili bir dizi tanımlayan bir değer türü olarak adlandırılır sabitler. Varsayılan olarak, Sistem.Int32 veri türü depolamak için kullanılır sabit değer. Bu temel türünü değiştirebilir olsa da, gerekli değil ya çoğu senaryoları için tavsiye. Not yok önemli performans elde bir veri türü kullanılarak elde edilir Int32 daha küçük. Eğer varsayılan veri türü, kullanamazsanız Ortak Dil Sistemi (CLS) uyumlu ayrılmaz birini kullanmalıdır tüm değerler emin olmak için türleri, Int16, Int32, Byte veya Int64 of numaralandırma CLS uyumlu programlama temsil edilebilir dil.

Neden dize türü için varsayılan değer ...
Neden Java API yerine veya bayt int kı...
Numaralama bir sınıfı temel türü için ...
Neden nesne yerine bir işaretçi kendis...
Python katılın, neden dize.liste yerin...