Getting an int value from enum can be challenging in C#. However, it can easily be done by using the following code:
1 2 3 4 5 6 |
public enum Months { Numbers = 23, MonthType = 3 } int abc = (int)Months.Number; |
The above code stores int value of Months enum into abc.
We have used Typecasting to get the int value from Enum. Yes, it is as easy at it can get. But, didn’t we say it can be challenging? Let’s get to the challenging part.
If you don’t know what integral type is used (for example, int, byte, short, etc.), you can become stuck..
For example, enum is declared as below.
1 2 3 4 |
enum DifferentType { long WeInt = 1, short creat = 2.345 } |
To get WeInt from the enum DifferentType, you need to use the following line of code:
long getWeInt = (long)DifferentType.WeInt
Either you need to know which integer type is used, or declare it as static class and know the constraints in it.
Let’s see an example of how it can be implemented.
1 2 3 4 5 6 7 8 |
public static class Learning { public const int power= 2; public const int cleaning= 3; public const int hacker = 4; public const int creative = 5; public const int random = 6; } |
Now, you can just call Learning.power to get the value 2 without worrying about typecasting the right integer value.
However, you might want to use readonly as compiler tends to change them to hard values. You can read more about it here.
Another way of handling the underlying integer type.
If you don’t want to use const or readonly, then you can use GetTypeCode() method and convert a class to get your work done.
1 2 3 4 5 6 7 |
public enum Learning { Power, hacker, creative, random } Learning Hacker = Learning.hacker Object hack1 = Conver. ChangeType(hacker, Hacker.GetTypeCode()); Console.WriteLine(hack1); |
And, that’s all for getting the int value from Enum. If you have any questions or feedback, use the comment section below.
You can also check on our website videos about C#. Below are some examples:
- C# – Colossal Cave Adventure port – C#
- Application Control of Acess in Real Time (part 2) – C#
You can also follow some of our broadcasters who program in C#, below:
Another cool way to find out interesting things about C# is to access our project page!