一、enum位域[flags]
[flags]
public enum week
[flags]
public enum week
1.、在列舉定義加上關鍵字 [flags],表示這個是位列舉
2.、「&」:表示兩邊是否其中乙個是另外乙個的子集,如果是返回子集,否則返回0
(如果其中乙個包含另外乙個,返回被包含的,否則返回0)用「&"的判斷這個列舉值是否出現在這個列舉中
3、「|」:表示兩邊求並集(元素相加,相同元素只出現一次)
4、「^」:表示從兩者的並集中去除兩者的交集(把兩個的元素合併到一起,如果兩個中有公共元素,要將其除去)
5、「~」:表示取反
6、名稱和下標的轉換
week weeks = week.tuesday | week.monday;
debug.log (weeks );-->monday, tuesday
weeks = week.monday & weeks;
debug.log (weeks );-->monday
weeks = weeks & week.monday;
debug.log (weeks );-->monday
weeks = (week.monday | week.wednesday)^ (week.tuesday | week.monday);
debug.log (weeks );-->tuesday, wednesday
weeks = (week.monday | week.wednesday) ^ (week.tuesday | week.sunday);
debug.log (weeks );-->monday, tuesday, wednesday, sunday
week = week.tuesday | week.monday | week.wednesday;
weeks = weeks &(~week.monday);-->tuesday, wednesday
weeks = week.tuesday | week.monday;
debug.log ((int )weeks );-->3 tuesday, tursday
weeks = (week )enum.parse (typeof(week ),"10");
debug.log (weeks );--> tuesday, tursday
二、enum、int、string的相互轉換
1、enum-->string
(1)利用object.tostring()方法:如debug.log (week.tuesday.tostring ())的值是"tuesday"字串;(2)利用enum的靜態方法getname:
public static string getname(type enumtype,object value)
public static string getnames(type enumtype)
例如:debug.log (enum.getname (typeof(week), 2) );-->tuesday與debug.log (enum.getname (typeof(week), week.tuesday) );-->tuesday
2、string-->enum
(1)利用enum的靜態方法parse:3、enum-->intpublic static object parse(type enumtype,string value)
例如:weeks = (week )enum.parse (typeof(week ),"10");
debug.log (weeks );--> tuesday, tursday
(1)因為列舉的基型別是除 char 外的整型,所以可以進行強制轉換。例如:(int)week.monday, (byte)week.monday
debug.log(week.monday
.tostring("d" ));
(2)遍歷列舉
type weektype = typeof (week);(3)遍歷列舉array arrays = enum.getvalues(weektype);
for (int i = 0; i 4、int-->enum
(1)可以強制轉換將整型轉換成列舉型別。
例如:week weeks= (week)2; -->weeks=tuesday;
(2)利用enum的靜態方法toobject。public static object toobject(type enumtype,int value)
例如:week weeks = (week)enum.toobject(typeof(week), 2),那麼weeks即為week.tuesday
foreach (week typeweek in enum.getvalues(typeof (week)))
5、判斷某個整型是否定義在列舉中的方法:enum.isdefined
public static bool isdefined(type enumtype,object value)例如:enum.isdefined(typeof(week), n))
C 之列舉型別與列舉類
enumtype.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespace std 定義乙個列舉型別,可以通過這個定義相應的列舉成員的識別符號 並用其中的乙個為他們賦值 定義在main函式體外屬於全域性變數 enum gameresult ...
C 之列舉型別探索
一 enum初識 作用 enum的全稱是enumeration意思是列舉,可以用一些符號表示一組屬性值,也就是將數字符號化,因為數字表面看不出任何意義,可讀性很差。例如,在貪吃蛇遊戲中表示地圖資訊 enum mapinfo 相比於直接用0,1,2對地圖賦值可讀性強很多。但是說到符號化數字,可以使用 ...
C 之列舉型別enum
某些資料只有有限的幾種可能值,雖然可以用int char等型別來表示它們,但是對資料的合法性檢查卻是一件很麻煩的事。比如,如果用整數0 6代表一星期的7天,那麼變數8便是不合法的資料。列舉就是專門用來解決這種問題的。將需要的變數值一一列出來,便構成了乙個列舉型別。宣告形式 enum 列舉型別名 例如...