LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#中Enum(枚举)与Int、String类型之间的转换

freeflydom
2025年3月18日 9:13 本文热度 385
前言:
在面对对象的动态开发中,难免会遇到各种类型转换的问题,今天我们来简单介绍一下enum(枚举)与int(整型)和string(字符串)类型之间的相互转换;

一.三者类型的简单介绍:

1.enum:枚举的声明用enum,枚举是值类型;​

2.int:int是32位有符号的整型;

int i =100 ;
Console.WriteLine(i);

3.string:是字符串类型,双引号中随便写,唯独写符号需要小心;

string i = "第一个字符串156456456=43567dufcdj";
Console.WriteLine(i);

二.enum枚举转换为字符串类型:

在转化为字符串类型时主要用到enum_name.枚举值.Tostring(),也就是将当前对象转换为字符串样式; 举例:

       enum Sss
        {
            吃饭,
            睡觉,
            打豆豆,
            打游戏,
            看电影,
            三国杀
        }
         static void Main(string[] args)
        {
            Console.WriteLine("这是将枚举转换为字符串:    {0}", Sss.打游戏.ToString());
            Console.ReadLine();
            Console.WriteLine("这是将枚举转换为字符串:    {0}", Sss.三国杀.ToString());
            Console.ReadLine();
            Console.WriteLine("这是将枚举转换为字符串:    {0}", Sss.吃饭.ToString());
            Console.ReadLine();
            Console.WriteLine("这是将枚举转换为字符串:    {0}", Sss.打豆豆 .ToString());
            Console.ReadLine();
         }

运行结果: 

三.enum枚举转化为整型:

在转换为整形时一般用的是强制转化,会用到(int)enum_name.枚举值,也就是将当前对象转化为整型; 举例:

enum Sss
        {
            吃饭,
            睡觉,
            打豆豆,
            打游戏,
            看电影,
            三国杀
        }
 static void Main(string[] args)
        {
            Console.WriteLine("这是将枚举转换为整型:    {0}", (int)Sss.吃饭);
            Console.ReadLine();
            Console.WriteLine("这是将枚举转换为整型:    {0}", (int)Sss.三国杀);
            Console.ReadLine();
            Console.WriteLine("这是将枚举转换为整型:    {0}", (int)Sss.打游戏);
            Console.ReadLine();
            Console.WriteLine("这是将枚举转换为整型:    {0}", (int)Sss.打豆豆);
            Console.ReadLine();
            Console.WriteLine("这是将枚举转换为整型:    {0}", (int)Sss.看电影);
            Console.ReadLine();
         }

运行结果:

如果好奇怎么不用int.Parse(),那是由于这个方法是将其数字的字符串形式转化为与其等效的32位有符号整数,如果引用这种会报错,有两种报错形式,一种在编写时报错,一种在运行时报错;

一.编写时报错:  

二.编写时正确,运行时报错;  

所以一般推荐用(int)enum_name.枚举值这种书写!

四.将整型转化为enum枚举:

1.第一种方法

在将整型转化为枚举时主要用到了:(enum_name)enum符号的值这个方法;

 enum Sss
        {
            吃饭,
            睡觉,
            打豆豆,
            打游戏,
            看电影,
            三国杀
        }
        static void Main(string[] args)
        {
            Console.WriteLine("这是将整数转换为枚举:     {0}", (Sss)1);
            Console.ReadLine();
            Console.WriteLine("这是将整数转换为枚举:     {0}", (Sss)2);
            Console.ReadLine();
            Console.WriteLine("这是将整数转换为枚举:     {0}", (Sss)3);
            Console.ReadLine();
            Console.WriteLine("这是将整数转换为枚举:     {0}", (Sss)4);
            Console.ReadLine();
            Console.WriteLine("这是将整数转换为枚举:     {0}", (Sss)5);
            Console.ReadLine();
        }

代码中的1,2,3,4,5为枚举符号值,所以运行结果为: 

2.第二种方法:

在这种方法中主要用到了:Enum.GetName(typeof(enum_name), enum符号值)这个方法,Enum.GetName()的意思就是:在制定的枚举中检索具有指定值的常熟的名称,括号里写的是枚举的名称以及枚举的符号值; 举例;

enum Sss
        {
            吃饭,
            睡觉,
            打豆豆,
            打游戏,
            看电影,
            三国杀
        }
        static void Main(string[] args)
        {
            Console.WriteLine("这是将整数转换为枚举:     {0}", Enum.GetName(typeof(Sss), 1));
            Console.ReadLine();
            Console.WriteLine("这是将整数转换为枚举:     {0}", Enum.GetName(typeof(Sss), 2));
            Console.ReadLine();
            Console.WriteLine("这是将整数转换为枚举:     {0}", Enum.GetName(typeof(Sss), 3));
            Console.ReadLine();
            Console.WriteLine("这是将整数转换为枚举:     {0}", Enum.GetName(typeof(Sss), 4));
            Console.ReadLine();
            Console.WriteLine("这是将整数转换为枚举:     {0}", Enum.GetName(typeof(Sss), 5));
            Console.ReadLine();
         }

和第一种方法一样,所以结果不想而知了吧: 

但个人一般推荐第一种因为比较简单,哈哈哈

五.将字符串转化为enum枚举:

在其进行转化是首先肯定得定义一个string类型的量,然后通过(enum_name)Enum.Parse(typeof(enum_name), string_name)方法进行设置调用; 举例:

 enum Sss
        {
            cc,
            dd,
            bb,
            打游戏,
            看电影,
            三国杀
        }
         static void Main(string[] args)
        {
string str = "11223344";
            //Sss sss = (Sss)Enum.Parse(typeof(Sss),str);
            Console.WriteLine("这是将字符串转换为枚举:     {0}", (Sss)Enum.Parse(typeof(Sss), str));
            Console.ReadLine();
        }

运行结果: 

转自https://juejin.cn/post/7482293261253345319


该文章在 2025/3/18 9:24:16 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved