我注意到这两种检查枚举标志的模式:
[Flags]
public enum PurchaseType
{
None = 0,
SalePrice = 2,
RegularPrice = 4,
Clearance = 8,
CreditCard = 16
}
public void Test()
{
PurchaseType type = PurchaseType.Clearance;
type |= PurchaseType.CreditCard;
// Practice 1
if ((type & PurchaseType.Clearance) == PurchaseType.Clearance)
{
// Clearance item handling
}
// Practice 2
if ((type & PurchaseType.CreditCard) != 0)
{
// Credit card item handling
}
}
在检查枚举标志的两种方法中,哪一种在性能、可读性、代码健康以及我应该考虑的任何其他方面更好?
谢谢,穆罕默德