回答

收藏

如何将 int 转换为枚举?

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

如何在 C# 中将anint强制转换为 an enum?5 P* ^! H0 O2 C7 g. X6 M
                                                               
: d! d4 s! I$ g2 J/ J    解决方案:                                                               
! y/ k# J8 t1 u7 o% @+ D                                                                从一个整数:  W; f# R1 \3 s1 a" a
YourEnum foo = (YourEnum)yourInt;从字符串:9 w# x6 K+ u0 G$ m4 m
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.")}更新:
) l; R; s% F: z" ^: {2 |8 D你也可以从号码中
; E+ I8 x* o, \, y! H6 v( R, xYourEnum foo = (YourEnum)Enum.ToObject(typeof(YourEnum) ,yourInt);
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则