Switch和Enum的那點事兒

2021-05-24 11:57:23 字數 1398 閱讀 8560

類之間傳遞引數呼叫方法時,當引數不同是,可以考慮用列舉做引數,被呼叫類中用switch……case判斷呼叫

列舉public enum bindtype

列舉元素的預設基礎型別為 int。預設情況下,第乙個列舉數的值為 0,後面每個列舉數的值依次遞增 1。

enum days ;

列舉數可以具有重寫預設值的初始值設定項。例如:

enum days ;

在此列舉中,強制元素序列從 100 而不是 0 開始。

獲取列舉值:int x = (int)days.sun;

列舉長整型

enum range :long ;

獲取列舉值:long x = (long)range.max;

列舉也支援string型別,

string tmp="a";

switch (tmp)

break;

case "b":

console.writeline("b");

break;

}msdn上這樣寫的:

enum 關鍵字用於宣告列舉,即一種由一組稱為列舉數列表的命名常數組成的獨特型別。每種列舉型別都有基礎型別,該型別可以是除 char 以外的任何整型。

列舉元素的預設基礎型別為 int。預設情況下,第乙個列舉數的值為 0,後面每個列舉數的值依次遞增 1。

enum在呼叫tostring()時,結果為其名詞的字串

如bindtype.phone_trace.tostring():"phone_trace"

switch配合列舉使用:

bindtype tmptype=bindtype.phone_trace;

switch (tmptype)

break;

case bindtype.dili:

console.writeline("dili");               

break;

default:

console.writeline("default");

break;

}switch語句中可以用列舉實現匹配

switch每個case中可以實現多行語句(可以跟if……else if……一樣實現匹配,但效率要高(以前總以為只能處理單行,失誤失誤)),如bindtype.alarm

另外case中有處理時,記得跟break,否則會報錯;沒有處理語句時,可以不用break,表示跟下面的處理方式相同

使用例子

a類中:

public enum bindtype

b類中使用:

public a.bindtype bindtype;

bindtype=a.bindtype.alarm;

console.writeline(bindtype.tostring())結果為:alarm

this的那點事

對於很多初學者,this總是搞得我們暈頭轉向。現在,我就簡單的總結一下關於this的那點事。this在函式定義時經常是不能確定的,只有在函式執行的時候才能最終確定this的歸屬。this總是指向最後呼叫它的物件,那麼怎麼知道到底是誰呼叫的呢?其實很簡單,我們知道函式呼叫的其中一種方法就是利用call...

Enum列舉結合switch的使用

列舉結合switch的使用 jdk7版本前switch只能使用char int型做對比引數,因此在某些情況下需引入列舉結合switch使用 author rsun date 2012 2 28下午10 42 54 public class enumtest public static void ma...

拓展的那點事

時間過得很快,又到了公司每年的拓展時間,今年公司拓展活動是安排在崇明島,因為時間關係自己有一些瑣事不能參加,至今心裡還有一絲的眷戀。拓展訓練不是簡單的娛樂和體育活動,它的中間融合了各種挑戰的元素,這些東西一般是在大學和工作中很難學到的,有時我們看了一些書就感覺自己知道和明白這些道理,但是遇到真真的事...