如何把一个输入字符串转换成枚举类型

今天学习了枚举类型,记录如下

枚举的作用

1)限制用户不能随意赋值,只能在定义枚举时列举的值中选择

2)无需记住每个值是什么,只需要.选择相应的值

注意:

定义枚举时,值不能是int类型

枚举类型的变量都可以强制转换成一个int类型

枚举的值在定义是是有一个默认编号的,编号从0开始

如果把一个字符串转换成枚举类型:(自定义的枚举类型)(Enum.Parse(type0f(自定义的枚举类型), "待转换的字符串");

 

例子:请用户输入性别,如果输入男,则输出用户性别为男性,使用枚举

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Enum_String
{
    enum Gender
    {
        男,
        女
    }
    class Program
    {
        static void Main(string[] args)
        {
            string inputGender = "";
            Gender userGender;
            Console.WriteLine("请输入您的性别");
            inputGender = Console.ReadLine();
            try
            {
                //将输入的字符串转换成枚举类型
                userGender = (Gender)(Enum.Parse(typeof(Gender),inputGender));
                //枚举类型userGender由于前面是字符串,所以会自动调用tostring()方法
                //Console.WriteLine("您的性别是"+userGender.ToString());
                Console.WriteLine("您的性别是"+userGender);
            }
            catch
            {
                Console.WriteLine("您只能输入男或女,请重新输入");
            }
            Console.ReadKey();
        }
    }
}


 

 

在 C++ 中,你可以使用预处理器宏或者函数来将枚举类型转换成字符串。以下是两种常用的方法: ## 方法一:使用预处理器宏 在 C++ 中,你可以使用预处理器宏 `#define STR(x) #x` 将任何表达式转换成字符串。因此,你可以定义一个包装枚举类型的宏,然后将其传递给 `STR` 宏来将其转换成字符串。以下是一个示例: ```cpp #define ENUM_TO_STR(x) STR(x) enum MyEnum { Value1, Value2, Value3 }; const char* str = ENUM_TO_STR(Value1); // str 的值为 "Value1" ``` 在上面的示例中,我们定义了一个名为 `ENUM_TO_STR` 的宏,它将其输入参数转换成字符串。然后,我们定义了一个名为 `MyEnum` 的枚举类型,以及一个指向枚举值的指针 `str`,该指针指向 `Value1` 的字符串表示。 ## 方法二:使用函数 另一种将枚举类型转换成字符串的方法是使用一个函数。你可以定义一个函数,该函数接受一个枚举值作为参数,并返回其字符串表示。以下是一个示例: ```cpp enum MyEnum { Value1, Value2, Value3 }; const char* enumToString(MyEnum e) { switch (e) { case Value1: return "Value1"; case Value2: return "Value2"; case Value3: return "Value3"; default: return "Unknown"; } } const char* str = enumToString(Value1); // str 的值为 "Value1" ``` 在上面的示例中,我们定义了一个名为 `enumToString` 的函数,该函数接受一个枚举值作为参数,并返回其字符串表示。然后,我们定义了一个名为 `MyEnum` 的枚举类型,以及一个指向 `Value1` 的字符串表示的指针 `str`。在调用 `enumToString` 函数时,我们将 `Value1` 作为其输入参数,并将其返回值赋给 `str`。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值