C# winform 字符串通过枚举类型转成int类型的数据

方法1:使用Enum.ParseConvert.ToInt32

复制代码
using System;

public enum MyEnum
{
    Value1,
    Value2,
    Value3
}

class Program
{
    static void Main()
    {
        string enumName = "Value2"; // 假设这是你要转换的字符串
        MyEnum myEnumValue = (MyEnum)Enum.Parse(typeof(MyEnum), enumName); // 将字符串转换为枚举
        int enumIntValue = Convert.ToInt32(myEnumValue); // 将枚举转换为整数
        Console.WriteLine(enumIntValue); // 输出整数
    }
}

方法2:直接将Enum.Parse的结果转换为int

复制代码
using System;

public enum MyEnum
{
    Value1,
    Value2,
    Value3
}

class Program
{
    static void Main()
    {
        string enumName = "Value2"; // 假设这是你要转换的字符串
        int enumIntValue = (int)Enum.Parse(typeof(MyEnum), enumName); // 直接将字符串转换为枚举,然后转换为整数
        Console.WriteLine(enumIntValue); // 输出整数
    }
}

在这两个例子中,我们都是通过字符串enumName来获取枚举的整数值。第一个例子中,我们首先将字符串转换为枚举类型,然后再转换为整数。第二个例子中,我们直接将Enum.Parse的结果转换为整数,这是一个更直接的方法。

请注意,如果字符串不是枚举的有效名称,Enum.Parse方法将抛出一个ArgumentException异常。因此,在实际应用中,你可能需要添加异常处理来确保程序的健壮性。例如:

复制代码
try
{
    int enumIntValue = (int)Enum.Parse(typeof(MyEnum), enumName);
    Console.WriteLine(enumIntValue);
}
catch (ArgumentException ex)
{
    Console.WriteLine("错误:" + ex.Message);
}

这样,如果enumName不是MyEnum枚举的有效成员,程序将捕获异常并输出错误信息,而不是崩溃。

相关推荐
码哥DFS1 小时前
二叉树的直径
开发语言·javascript·算法
paopaokaka_luck1 小时前
基于springboot3+vue3的企业考勤管理系统(部门树递归、Echarts图形化分析)
开发语言·spring boot·学习·echarts·mybatis·需求分析·代码规范
小金子会发光2 小时前
C# WinForms 手搓 Modbus RTU 调试助手:不依赖第三方 Modbus 库,从 CRC16 到 8 种功能码完整实现
c#·modbusrtu·串口通讯
梦雨生生3 小时前
java开发工具(学习第一天)
java·开发语言·学习
啊啊啊啊啊!!!!4 小时前
【c++】stack和queue的接口使用以及底层实现
开发语言·c++
松仔log5 小时前
Java中级——组合和继承
android·java·开发语言
上海安当技术6 小时前
C/S 桌面软件怎么接 UKey 强认证?C# SDK 与 C 动态库集成 WinForms/Qt/工控实战
c语言·qt·c#
(Charon)7 小时前
【C++】锁与原子操作(四):自旋锁的完整实现与性能优化
c语言·开发语言·c++
明如正午7 小时前
【C#】跨线程更新进度条_UpdateProgress 方法解析
c#
雨田言炎7 小时前
五、Qt控件使用说明大全
开发语言·qt