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

C中Enum(枚举)与Int、String类型之间的转换前言 在面对对象的动态开发中 难免会遇到各种类型转换的问题 今天我们来简单介绍一下 enum 枚举 与 int 整型 和 string 字符串 类型之间的相互转换 目录 一 三者类型的介绍 一 三者类型的介绍 1 enum 枚举的声明用 enum 枚举是值类型 2 int int 是 32 位有符号的整型

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

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

1.enum:枚举的声明用enum,枚举是值类型;详细介绍请前往:enum枚举的介绍
2.int:int是32位有符号的整型;

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

在这里插入图片描述
3.string:是字符串类型,双引号中随便写,唯独写符号需要小心;

string i = "第一个字符串=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(); } 

四.将整型转化为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 = ""; //Sss sss = (Sss)Enum.Parse(typeof(Sss),str); Console.WriteLine("这是将字符串转换为枚举: {0}", (Sss)Enum.Parse(typeof(Sss), str)); Console.ReadLine(); } 

以上为本次博客全部内容,下次更新如何查看枚举具体转换的是什么类型,敬请期待!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176288.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午10:18
下一篇 2026年3月26日 下午10:18


相关推荐

  • python问号表达式_python中的问号表达式

    python问号表达式_python中的问号表达式我们知道 C 语句中存在问号表达式 例如下面 1a 2 gt 1 10 10 那么 Python 脚本语言中是否也存在类似的问号表达式呢 答案是肯定的 而且存在两种方式 方式 1 使用 ifelse 实现如下例 1b 5a 2ifb 4else1printa 方式 2 使用逻辑运算符实现如下例 1b 5a b 4and2or1 要注意 使用逻辑运算时要保证 and 后面的变量值

    2026年3月19日
    1
  • 老鸟的Python新手教程

    老鸟的Python新手教程

    2021年11月15日
    42
  • 初始化 数组 java_如何用Java初始化数组

    初始化 数组 java_如何用Java初始化数组初始化数组 javaTodaywew Anarrayinjav Thevaluescan

    2026年3月26日
    2
  • Dagger2使用详解

    Dagger2使用详解Dagger2 是目前流行的一个依赖注入框架 使用它可以降低我们程序中类与类之间的耦合 类实例的创建 初始化 销毁及相互依赖都交由 dagger2 来管理 我们只需要专注于类本身的业务逻辑 提高我们编写程序的便利性 传统 MVP 案例 MVP 是我们项目中经常使用的一个应用框架 Model 层负责具体的业务逻辑 View 层负责界面的展示 Presenter 层负责协调 Model 层与 View 层 通过调用 Model 层的业

    2026年3月18日
    2
  • springboot项目启动原理_常见的科学原理

    springboot项目启动原理_常见的科学原理1.1Springboot启动:@SpringBootApplicationpublicclassServerApplication{publicstaticvoidmain(String[]args){SpringApplication.run(ServerApplication.class,args);}}从上面代码看,调用了…

    2022年8月21日
    8
  • 不是单组分组函数「建议收藏」

    不是单组分组函数「建议收藏」问题:一:SELECT tablespace_name, SUM(bytes) freeFROM dba_free_space不是单组分组函数原因: 1、如果程序中使用了分组函数,则有两种情况可以使用:程序中存在group by,并指定了分组条件,这样可以将分组条件一起查询出来改为:  SELECT tablespace_name, SUM(bytes) freeFROM dba_free_spa…

    2022年6月30日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号