How to cast an enum to int in C#
using System;public class EnumTest {enum Result {Fail,Pass};public static void Main() {Console.WriteLine(Result.Pass);int passIntVal = (int) Result.Pass;Console.WriteLine("The int value of Pass is " + passIntVal);int failIntVal = Convert.ToInt32(Result.Fail);Console.WriteLine("The int value of Fail is " + failIntVal);}}
Explanation
Let’s break down the code written above:
- Lines 4 to 7: We create an
enumobjectResultwith two values,FailandPass. The default underlying data type for an enum isint. So the value ofFailis0and the value ofPassis1.
- Line 11: We use type casting to convert the
Result.Passenum into anint. This returns the respectiveintvalue of theenum.
- Line 14: We use the
ToInt32method of the Convert class to convert theenumvalueResult.Failto anintvalue. This method returns0as a result.
.