從C#枚舉中獲取整數值
改進“Questions”類中的Get函數
在“Questions”類中,您試圖設計一個“Get”函數,該函數將為提供的整數值檢索一個“Questions”對象。但是,為了方便這種檢索,您需要一種方法來從“Question”枚舉中提取整數值。
解決方案:類型轉換
檢索枚舉整數值最簡單的方法是將枚舉轉換為底層數據類型。在大多數情況下,枚舉使用“int”作為其底層數據類型。因此,您可以通過強制轉換將枚舉值轉換為整數,如下所示:
<code class="language-csharp">int roleValue = (int)Question.Role;</code>
此強制轉換將為您提供與“Role”枚舉值關聯的整數值,在本例中為2。
替代類型
雖然將強制轉換為“int”通常足以滿足大部分枚舉的需求,但值得注意的是,枚舉也可以使用不同的底層數據類型定義,例如“uint”、“long”或“ulong ”。在這種情況下,您應該將枚舉強制轉換為適當的類型以準確檢索值。
例如,如果名為“StarsInMilkyWay”的枚舉使用“long”作為其底層類型定義:
<code class="language-csharp">enum StarsInMilkyWay : long { Sun = 1, V645Centauri = 2, Wolf424B = 2147483649 };</code>
要將“Wolf424B”值作為整數檢索,您需要將其強制轉換為“long”:
<code class="language-csharp">long starValue = (long)StarsInMilkyWay.Wolf424B;</code>
以上是如何從C#枚舉獲得整數值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!