回答

收藏

如何将 int 转换为枚举?

技术问答 技术问答 277 人阅读 | 0 人回复 | 2023-09-11

如何在 C# 中将anint强制转换为 an enum?
; ]+ f: D& f5 B: e" Q                                                               
) t2 z2 p$ w7 z) k1 ~    解决方案:                                                               
: A* k3 m" c* ^4 N* P9 g3 ^                                                                从一个整数:; O7 r  e/ c0 m2 x) @5 Y
YourEnum foo = (YourEnum)yourInt;从字符串:
6 _! w5 x9 y( Q% I) L. s* r0 wYourEnum 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.")}更新:
; G8 y7 Q" n- p6 r3 U' f你也可以从号码中! H' z- E0 _# X* o
YourEnum foo = (YourEnum)Enum.ToObject(typeof(YourEnum) ,yourInt);
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则