如何在 C# 中将anint强制转换为 an enum?. h1 [+ m1 N8 e' y
/ h9 D0 o( R s 解决方案: / ?: ?* w' N' n
从一个整数: + n1 d- r O" ^$ dYourEnum foo = (YourEnum)yourInt;从字符串: l6 ^- Q/ Q* i! j" J
YourEnum foo = (YourEnum) Enum.Parse(typeof(YourEnum),yourString);// The foo.ToString().Contains(",") check is necessary for enumerations marked with an [Flags] attributeif (!Enum.IsDefined(typeof(YourEnum),foo) && !foo.ToString().Contains(",")){ throw new InvalidOperationException($"{yourString} is not an underlying value of the YourEnum enumeration.")}更新: # \4 ^. ^8 W0 ~, h你也可以从号码中 ' f+ z9 w/ m% w; ?, ]0 YYourEnum foo = (YourEnum)Enum.ToObject(typeof(YourEnum) ,yourInt);