首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【小雨学编程之C#】18.5.2 枚举的类型转换

在我们的编程过程中,不免出现枚举和其他数据类型转换的情况。

将枚举类型转换成整形

之前我们讲过一个例子,用选择的方式让用户在输入的过程中选择学生的性别:

这里我们看到我们通过 (int)枚举类型.成员名 的方式,将枚举类型转换成整形,进而和用户输入进行比对。

整型转换为枚举类型:

在这个例子中我们同样可以将整形转换成枚举类型,进而和枚举进行比对。也就是强制类型转换成枚举:(枚举类型)整形变量。

我们可以通过,固定选项的方式,让用户输入数字,同时将用户输入的数字强制类型转换成我们需要比对的数据类型。

其实我们也可以直接操作用户输入的字符串,进而比对。

枚举类型转换为字符串类型:

这里我们通过枚举成员自有的ToString来将对应枚举成员转换成字符串类型,也就是枚举成员名:枚举.成员.ToString()。

字符串类型转换为枚举类型:

我们也可以直接将用户输入的字符串转换成枚举类型。不过这里我们需要用到Enum.Parse()方法。

注意:这里用到的Enum.Parse()方法,带3个参数:

第一个参数是要使用的枚举类型,其语法是typeof(枚举名)。

第二个参数是要转换的字符串。

第三个参数是一个bool,指定在进行转换时是否忽略大小写。

也就是:(枚举类型)Enum.Parse(typeof(枚举类型),字符串,是否忽略大小写)

不过这种方式有个缺陷,也就是当用户输入了枚举类型中没有的成员名的时候,系统会直接报异常。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210404A000WS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券