Reputation: 3032
I have enum
like this :
enum Numbers
{
SmallerThenThree = 3,
SmallerThenFive = 5,
SmallerThenTen = 10,
}
Is it possible get item of enum
by specific number? For example :
var numberFour = 4;
var enumOfNumber = (Numbers)numberFour; // There should be SmallerThenFive enum type
var numberSix = 6;
enumOfNumber = (Numbers)numberSix; // There should be SmallerThenTen enum type
Upvotes: 1
Views: 120
Reputation: 11977
You can use Reflection:
var number = 4;
var enumValue = (Numbers)Enum.GetValues(typeof(Numbers))
.Cast<int>()
.OrderBy(v => v)
.FirstOrDefault(v => number < v);
// Note: enumValue will be (Numbers)0 if the value is >= 10
Upvotes: 8
Reputation: 85
var value= 4;
Numbers enumDisplayStatus = (Numbers)value;
string stringValue = enumDisplayStatus.ToString();
Upvotes: 0