Lookups & Queries¶
Lookup by Name¶
FromName(string name)¶
Returns the enum member with the given name. Throws InvalidOperationException if not found.
TryFromName(string name, out TEnum? result)¶
Returns true and populates result if found. Returns false and sets result to null if not found. Never throws.
Name lookups use StringComparer.Ordinal (case-sensitive, culture-insensitive).
Lookup by Value¶
FromValue(TValue value)¶
Returns the enum member with the given value. Throws InvalidOperationException if not found.
TryFromValue(TValue value, out TEnum? result)¶
Returns true and populates result if found. Never throws.
Membership Checks¶
ContainsName(string name)¶
Returns true if a member with that name exists.
bool exists = OrderStatus.ContainsName("Shipped"); // true
bool exists = OrderStatus.ContainsName("Cancelled"); // false
ContainsValue(TValue value)¶
Returns true if a member with that value exists.
bool exists = OrderStatus.ContainsValue(3); // true
bool exists = OrderStatus.ContainsValue(99); // false
Enumeration¶
All¶
Returns all members in declaration order as IReadOnlyList<TEnum>.
Names¶
Returns all member names as IReadOnlyList<string>.
Values¶
Returns all member values as IReadOnlyList<TValue>.
Count¶
A compile-time const int equal to the number of members.
Base Class Members¶
Every enum member also inherits from the base class:
| Member | Type | Description |
|---|---|---|
Name |
string |
The member's name |
Value |
TValue |
The member's value |
ToString() |
string |
Returns Name |
Equals(TEnum?) |
bool |
Value equality |
CompareTo(TEnum?) |
int |
Comparison via TValue.CompareTo |
== / != |
bool |
Operator overloads |