回答

收藏

如何将 int 转换为枚举?

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

如何在 C# 中将anint强制转换为 an enum?
1 g+ W9 D* F, \0 d& X. u                                                               
! ~' P, k3 P: _7 V% C    解决方案:                                                               
+ _/ f! I  o- |2 o5 D) d. T                                                                从一个整数:3 F# o5 v* i& F) v( ?* m1 @
YourEnum foo = (YourEnum)yourInt;从字符串:
4 `1 }: z$ S" I$ kYourEnum 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.")}更新:' ?1 h9 B- u8 g. }
你也可以从号码中
: O; ^  P1 V# W% O( q3 hYourEnum foo = (YourEnum)Enum.ToObject(typeof(YourEnum) ,yourInt);
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则