`

枚举转化和判断方法的总结

UP 
阅读更多

定义枚举:
public enum DisplayType
{
  All=10,
  Up=20,
  Down=30
}

1.数值转化
(1)字符转化为枚举
string str="up";
DisplayType displayType;
displayType=(DisplayType)System.Enum.Parse(typeof(DisplayType),str,true);
Response.Write(displayType.ToString());

结果是:Up
Enum.Parse 方法第3个参数,如果为 true,则忽略大小写;否则考虑大小写。

(2)数字转化为枚举
int i=30;
DisplayType displayType;
displayType=(DisplayType)System.Enum.Parse(typeof(DisplayType),i.ToString());
Response.Write(displayType.ToString());
结果是:Down
(3)枚举转化为字符
DisplayType displayType=DisplayType.Down;
string str=displayType.ToString();
Response.Write(str);
结果是:Down

(4)枚举转化为数字
方法一:
DisplayType displayType=DisplayType.Down;
int i=Convert.ToInt32(displayType.ToString("d"));
Response.Write(i.ToString());
结果是:30

方法二:
DisplayType displayType=DisplayType.Down;
int i=((IConvertible)((System.Enum)displayType)).ToInt32(null);
Response.Write(i.ToString());
结果是:30

枚举的父类是System.Enum,父类继承了接口IConvertible

2.数值判断
有时候枚举数值由外界输入,这时候我们就得判断输入数值的正确性了.
(1)字符判断
方法一:
string str="u";
if(Enum.IsDefined(typeof(DisplayType),str))
{
 Response.Write("ok");
}
else
{
 Response.Write("error");
}
结果是:error

方法二:
string str="Up";
try
{
 Enum.Parse(typeof(DisplayType),str);
 Response.Write("ok");
}
catch(ArgumentException)
{
 Response.Write("error");
}
结果是:ok

Enum.Parse 方法的第2个参数,value 为空字符串或只包含空白或value 是一个名称,但不是为该枚举定义的已命名常数之一就发生异常

(2)数字判断
int i=30;
if(Enum.IsDefined(typeof(DisplayType),i))
{
 Response.Write("ok");
}
else
{
 Response.Write("error");
}
结果是:ok

 

分享到:
评论

相关推荐

    枚举语音注册表主键项

    "枚举语音注册表主键项"指的是遍历与语音相关的注册表键值,以获取和管理与语音识别、语音合成、语音输入等语音技术相关的设置和数据。这个过程对于开发者或系统管理员来说非常重要,因为他们可能需要调整这些设置以...

    模糊数学是研究和处理模糊性现象的数学方法. 众所周知,经典数学是以精确性为特征的. 模糊数学教案

    模糊数学是一种数学理论,它专门用来研究和处理那些在现实世界中存在不确定性和...模糊集、模糊理论的数学基础、模糊映射以及模糊关系的特性等构成了模糊数学的基础理论体系,为实际问题的解决提供了新的视角和方法。

    java常用类总结.docx

    在Java中,内部类(包括静态内部类)可以访问外部类的所有成员,而静态成员和方法可以在类加载时被直接调用,无需创建类的实例。 枚举类型是Java中的常量集合,每个枚举成员都是`Enum`类的实例。枚举成员默认是`...

    程序设计实习讲义5.ppt

    【程序设计实习讲义5.ppt】主要涵盖了枚举这一程序设计方法的讲解,并通过两个实例来阐述枚举思想在实际问题解决中的应用。 **枚举的基本思想**: 枚举是一种解决问题的策略,它涉及列举所有可能的情况,然后逐一...

    模数转化及USB的上位机程序(C++)

    总结来说,模数转化及USB的上位机程序涉及了电子工程与计算机科学的交叉领域,需要对信号处理、数字系统设计、USB通信协议以及C++编程有深入理解。通过这个项目,你可以学习如何构建一个能够与硬件设备通信、实时...

    编译原理DFA识别字符串

    总结来说,"编译原理DFA识别字符串"是一项利用DFA模型对用户输入的字符串进行匹配和识别的任务。这需要我们理解DFA的工作原理,能够编写读取和操作DFA状态的代码,以及从命令行接收输入并进行处理的逻辑。DFA.java...

    代码重构总结

    当提到重构时,我们通常指的是识别和修正那些使得代码难以理解和维护的特性。这些特性通常被称为“代码的坏味道”。以下是一些常见的代码坏味道: 1. **代码重复**:重复代码是软件开发中最常见的问题之一。它不仅...

    第十五届蓝桥杯Java A组参赛总结

    - **题目描述**:定义了两种召唤数学精灵的方法——累加法仪式A(n)和累乘法仪式B(n),要求找出在给定范围内能够成功召唤数学精灵的数字个数。 - **解题思路**: - 理解A(n)和B(n)的定义,其中A(n)是1至n的累加和...

    Delphi获取不同的声音播放设备..rar

    然后,调用相应的方法来实现音频设备的枚举和控制。 在`codefans.net`提供的资源中,可能包含了一个示例项目或源代码,演示了如何在Delphi中实现上述功能。通过学习和分析这个示例,开发者可以更好地理解如何在自己...

    C#软件开发工程师招聘试题

    本节我们将对C#软件开发工程师招聘试题进行总结,涵盖了单项选择题、填空题和判断题三个部分。 单项选择题 1. 在类作用域中能够通过直接使用该类的成员名进行访问的是私有成员。 2. 小数类型和浮点类型都可以表示...

    2021高考冲刺系列-19种答题方法+6种解题思想.docx

    以下根据提供的内容,总结了19种数学解题方法和6种解题思想,帮助考生提升解题效率和准确度。 1. **函数解题**: - 对于函数问题,首先要明确定义域,然后应用“三合一定理”,即函数的值域、图像和性质之间的关系...

    经典权限管理问题

    总结来说,"经典权限管理问题"是一个关于如何利用计算机的二进制计算优势来提升权限管理系统性能的主题,它可能涉及到C#中的位运算和枚举特性,以及如何构建和操作位掩码来实现高效、灵活的权限控制。通过深入理解和...

    java基础知识大总结

    6. **compareTo方法的使用**:在使用`compareTo`方法比较数值类型(如`Integer`)时,需要注意区分`Integer`和基本类型`int`。对于基本类型,可以直接使用`、`>`等操作符进行比较。 7. **长度属性的理解**: - `...

    数据分析:核心思路三步走.pdf

    枚举法则是列出所有可能影响数据的因素,并进行排序和优先级划分。 3. 识别根本原因: 在定位问题后,我们需要深入探究问题的根本原因。这可能需要运用全链路分析、组成因子分析、影响因子分析等方法,结合实际...

    小升初奥数知识知识点总结.pdf

    - **繁分数运算**:处理含有多个分数的表达式,通常需要化简和转化。 - **分数、小数混合运算**:将分数与小数结合运算,转换为统一形式以简化计算。 **简便计算** - **凑整思想**:通过调整数的大小,使得计算过程...

    以C语言为例的计算机算法初步

    总结来说,理解和掌握算法是编程和计算机科学的基础。C语言以其简洁高效的特点,成为了学习算法的理想工具。无论是递推迭代还是穷举枚举,都是解决不同类型问题的有效方法。通过深入学习和实践,我们可以运用这些...

    6.7利用计算历史的归约.pptx

    LBA的能力介于正则语言和上下文有关语言之间,它们可以识别正则上下文无关的语言,但不能识别所有递归可枚举或可判定的语言。LBA接受性问题是判断给定的LBA是否接受特定输入串的问题,这个问题被证明是可判定的,即...

    linux 实训 总结2

    - **基本类型**: 整型、浮点型、字符型和枚举类型。 - **构造类型**: 数组、结构体、共用体。 - **指针**: 用于存储变量地址的数据类型。 - **常量与变量**: 常量不可更改,变量可存储和操作数据。 - **关键字**: 如...

Global site tag (gtag.js) - Google Analytics