[ASP.NET]C#列舉(Eunm)與switch應用小記錄

[ASP.NET]C#列舉(Eunm)與switch應用小記錄

前言

以前寫程式的壞習慣,常常用單純的字串來做Switch,如下:

image

 

 

其實這也沒什麼不對,但要避免字串不小心輸入錯導致維護困難,或者是程式碼的可讀性,應該改為使用列舉Enum,但今天在寫string轉成Enum switch突然鬼打牆忘記語法了,就來小記錄一下順便分享給不常用Enum的人。

先定義一個科目的Enum,裡面有三個option:

image

字串判斷很直覺的使用以下方式,會發現錯誤:

image

正確的使用方法應該為轉型,且Visuall Studio非常聰明會自動幫你列出所有的項目:

image

 

 

INT的判斷也可使用Enum :

image

--

Reference

http://stackoverflow.com/questions/15136134/c-sharp-how-to-use-enum-with-switch

http://stackoverflow.com/questions/1947645/net-c-sharp-switch-statement-string-compare-versus-enum-compare

http://www.dotblogs.com.tw/hatelove/archive/2011/08/02/refactoring-consolidate-duplicate-conditional-fragments.aspx