Como dice Sam, puede usar IsDefined. Sin embargo, esto es algo incómodo. Usted puede desee mirar a mi biblioteca Unconstrained Melody que nos dejaron:
Enum1 e2 = (Enum1)10;
if (e2.IsNamedValue()) // Will return false
{
}
Es probable que no vale la pena para una sola llamada de enumeración, pero si usted está haciendo un montón de cosas con las enumeraciones se puede encontrar algunas cosas útiles allí.
Debe ser más rápido que Enum.IsDefined
por cierto. Solo hace un escaneo lineal en este momento, pero avíseme si necesita que se mejore :) (La mayoría de las enumeraciones son lo suficientemente pequeñas como para que probablemente no se beneficien de un HashSet
, pero podríamos hacer una búsqueda binaria ...)
No sé cuál es su propósito de utilizar un enum de todos modos. Intente si puede usar un diccionario en su lugar – Amsakanna
¿Qué desea verificar ...? – Ravia
Posible duplicado de [Validate Enum Values] (http://stackoverflow.com/questions/13615/validate-enum-values) – bluish