關於C 的Enum轉換Int型別,不使用強轉

2021-09-26 02:59:09 字數 344 閱讀 4276

將列舉型別轉換為int在c#裡非常簡單,直接(int)強轉就行了,但是這樣寫**不方便

使用轉換成object與system.convert.toint32();這兩種方式都會涉及到裝箱拆箱的問題,會產生效能消耗

因為任何物件都用gethashcode的方法,列舉是整數型別,返回的雜湊值剛好是整數值:

public static class enumtools

public static uint touint(enum e)

public static string valuetostring(enum e)

}

將C 裡的列舉Enum轉換為int

將列舉型別轉換為int在c 裡非常簡單,直接 int 強轉就行了,可是這樣寫 不方便,尤其讓我這種懶癌患者難受,我喜歡用擴充套件方法的方式實現轉換 如果不理解擴充套件方法請自行補課,這裡不再介紹 比如這樣string轉int public static class extendstring 比什麼c...

關於C 列舉型別enum

一 何為列舉型別?列舉型別 enumeration 是c 中的一種派生資料型別,它是由使用者定義的若干列舉常量的集合。宣告形式 enum 列舉名 例如 enum weekday 定義列舉資料型別變數,例如 weekday myweekday 注意資料型別是weekday而不是enum weekday...

關於C 列舉型別enum

一 何為列舉型別?列舉型別 enumeration 是c 中的一種派生資料型別,它是由使用者定義的若干列舉常量的集合。宣告形式 enum 列舉名 例如 enum weekday 定義列舉資料型別變數,例如 weekday myweekday 注意資料型別是weekday而不是enum weekday...