IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> C#关于枚举(enum)类型与整型、字符串相互转换的总结 -> 正文阅读

[开发工具]C#关于枚举(enum)类型与整型、字符串相互转换的总结

C#关于枚举(enum)类型与整型、字符串相互转换的总结

首先,声明枚举类型的变量:

//除枚举类型转换成整数类型示范中修改了该代码,其他均采用此枚举类型的声明。
[public] enum Subject
{
    Chinese,
    Math,
    English,
    AndroidDevelop,
    GameDevelop
}

注意:
①【public】关键字视情况而定,可以不加。
最好是在命名空间下直接定义枚举,以便该命名空间中的所有类都能够使用。
③最后一个值可以加【,】也可以不加。

四种类型转换的方法:

1. 枚举(enum)类型→整数(int)类型

Subject subject1 = Subject.Chinese;
Subject subject2 = Subject.AndroidDevelop;
int num1 = (int)subject1;
int num2 = (int)subject2;
Console.WriteLine(num1);//输出:0
Console.WriteLine(num2);//输出:3
Console.ReadKey();
注:第一个枚举元素的值为0,后面每个枚举元素的值依次递增。

修改枚举元素的值后,查看枚举数的值变化规律。不难发现,可以强制修改枚举元素序列从某一个数值开始递增。

public enum Subject
{
	//仅仅在第1小点这里修改枚举类型元素的序号
    Chinese = 5,
    Math,
    English = 10,
    AndroidDevelop,
    GameDevelop
}
Console.WriteLine((int)Subject.Chinese);//输出:5
Console.WriteLine((int)Subject.Math);//输出:6
Console.WriteLine((int)Subject.English);//输出:10
Console.WriteLine((int)Subject.AndroidDevelop);//输出:11
Console.WriteLine((int)Subject.GameDevelop);//输出:12
Console.ReadKey();

2. 整数(int)类型→枚举(enum)类型

int i = 3;
Subject subject = (Subject)i;
Console.WriteLine(subject);//输出:AndroidDevelop
Console.ReadKey();

由此可见,在转化为枚举类型的过程中,当枚举类型的元素序号包括整数类型的数值就得到枚举类型的元素,如果没有包括整数类型的数值,得到的是数值本身。

int i = 8;
Subject subject = (Subject)i;
Console.WriteLine(subject);//输出:8
Console.ReadKey();

3. 枚举(enum)类型→字符串(string)类型

Subject subject = Subject.GameDevelop;
string str = subject.ToString();
Console.WriteLine(str);//输出:GameDevelop
Console.ReadKey();

万物皆可ToString():

int i = 1;
double d = 2.2;
char c = 'C';
decimal m = 200.5m;
Console.WriteLine(i.ToString());//输出:1
Console.WriteLine(d.ToString());//输出:2.2
Console.WriteLine(c.ToString());//输出:C
Console.WriteLine(m.ToString());//输出:200.5
Console.ReadKey();

4. 字符串(string)类型→枚举(enum)类型

①字符串内容的值与枚举元素名一致,输出枚举元素名。

string str1 = "Math";
Subject subject1 = (Subject)Enum.Parse(typeof(Subject), str1);
Console.WriteLine(subject1);//输出:Math
Console.ReadKey();

②字符串内容的数值与枚举元素序号一致,输出对应的序号值的枚举元素名。

string str2 = "3";
Subject subject2 = (Subject)Enum.Parse(typeof(Subject), str2);
Console.WriteLine(subject2);//输出:AndroidDevelop
Console.ReadKey();

③字符串内容的数值与枚举元素序号不一致,输出字符串内容的数值。

string str3 = "10";
Subject subject3 = (Subject)Enum.Parse(typeof(Subject), str3);
Console.WriteLine(subject3);//输出:10
Console.ReadKey();

④除了数值以及与枚举元素一致的文本内容外,其他字符串本文内容无法转换成枚举类型,因此会抛出异常。

//这里是错误示范!代码存在异常!
string str3 = "异常内容";
Subject subject3 = (Subject)Enum.Parse(typeof(Subject), str3);//抛出异常
Console.WriteLine(subject3);
Console.ReadKey();

因为作者精力有限,文章中难免出现一些错漏,敬请广大专家和网友批评、指正。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 11:50:46  更:2022-02-26 11:52:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:52:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码