1
我們有一個數據庫,其中一列包含複合枚舉整數值。我們需要去除特定枚舉整型值的所有這些值(如果有的話),但將其餘部分留在原地。如何確定哪些枚舉項「隱藏」在整數值中
[Flags]
public enum MyEnum
{
Enum1 = 1,
Enum2 = 2,
Enum3 = 4,
Enum4 = 8,
}
在數據庫中,我們發現
Row MyEnumSettings
1 3 (Enum1 | Enum2)
2 8 (Enum4)
3 6 (Enum2 | Enum3)
4 14 (Enum2 | Enum3 | Enum4)
我們要從每一行刪除Enum3並最終與
Row MyEnumSettings
1 3 (no change)
2 8 (no chnage)
3 2 (removed Enum3)
4 10 (removed Enum3)
我們可以使用Enum.IsDefined檢查一個整數一部分的枚舉(不知道它是否適用於複合整數值..)。但是,我們如何檢查給定的整數值是否包含枚舉的特定部分?
大,會(現在沒時間 - 但明天)嘗試。 – JustAnotherCoder
要檢查複合值,請在枚舉中的每個項目上使用value.HasFlag(MyEnum.Enum1)來獲取整個圖片。 – JustAnotherCoder