列舉進行位運算 列舉組合z

2021-09-07 20:22:51 字數 797 閱讀 5550

public

enum

myenum

用位移運算方便的獲取多個列舉的組合變數:

myenum myenum = myenum.myenum1 |myenum.myenum2;

myenum |= myenum | myenum.myenum3;

或在組合中刪除其中一項列舉:

myenum ^=myenum.myenum1;

myenum &= ~myenum.myenum2;

需要判斷是否包含某一枚舉值時,可以使用以下方法判斷:

(curmyenum & myenum.enum1) > 0

如果需要將列舉型別的變數視為一組標誌,需要在列舉定義前加上flages特性:

[system.flags]

public enum myenum

具有flags特性的列舉組合在呼叫例項方法tostring()時,會得到對應的列舉值組合,而非對應的列舉數:

//對於以上列舉,如果不帶flags特性

console.writeline(myenum.myenum1 | myenum.myenum2); //3

//對於以上列舉,如果帶上flags特性 console.writeline(myenum.myenum1 | myenum.myenum2); //myenum1, myenum2 ※特性flags一般和列舉組合一起使用,便於檢視列舉中的列舉值的組合;

列舉及位運算

目錄 1.基礎列舉演算法 2.整數列舉 3.小數列舉 4.位運算 5.二進位制列舉 列舉是基於已有知識來猜測答案的一種問題求解策略。列舉所有可能是問題解的答案並進行判斷。在演算法競賽中,列舉是一種基本的技巧,廣泛運用於部分分和對拍。實現 int pos 1 for int i 1 i n i if ...

poj1753解題報告(列舉 組合數)

poj 1753,題目鏈結 有4 4 的正方形,每個格仔要麼是黑色,要麼是白色,當把乙個格仔的顏色改變 黑 白或者白 黑 時,其周圍上下左右 如果存在的話 的格仔的顏色也被反轉,問至少反轉幾個格仔可以使 4 4的正方形變為純白或者純黑?1.每乙個位置只有兩種顏色,翻偶數次等於沒有翻,所以只有翻基數次...

列舉型別的位運算

stringformatflags 列舉 指定文字字串的顯示和布局資訊。此列舉有乙個屬性,允許其成員值按位組合。其中有這麼一項 nowrap 在矩形內設定格式時,禁用文字換行功能。當傳遞的是點而不是矩形時,或者指定的矩形行長為零時,已隱含此標記。當確保文字布局的時候不換行可以將stringforma...