你還在代碼里面通篇通過數字的定義類型。比如type為1 表示xx,type為2 表示yy嗎?然后程序里面通過數字1和2來判斷嗎?比如下面類似的代碼:
- if(type==1){
- //....
- }
- else if(type==2){
- //...
- }
- else if(type==3){
- //...
- }
老鳥們一般都會用枚舉來定義類型。
枚舉這個是一個好東西,可以提高代碼的可讀性和可維護性。尤其asp.net mvc中的Action參數也可以定義為枚舉,這樣請求傳入的int值,后台會自動轉為枚舉類型。(asp.net mvc model綁定特性,asp.net mvc強大之處)
有時候,我們想要知道傳入int值是否是枚舉里面的值。你以前是不是一個值一個值的去判斷的?
比如定義如下枚舉:
- public enum PayType{
- Alipay=1,
- Weixin=2
- }
當API定義type為數字類型時,我們想知道payType是否是枚舉里面的值(也就是1或2)
檢驗調用代碼:
- Enum.IsDefined(typeof(PayType), req.type)