关于枚举的操作

1.Format (要转换的值的枚举类型,要转换的值,要使用的输出格式)

Enum.Format(typeof(Type), 2, "x")    Type为枚举类型

2.Parse(枚举对象,转换的值或名称的字符串) 返回值是object类型

Enum.Parse(typeof(Type), "2")

Parse(枚举对象,转换的值或名称的字符串,是否区分大小写)

3. TryParse(转换的值或名称的字符串,枚举对象) 返回值bool类型,true表示转换成功,false表示转换失败

   Type type;
   bool b = Enum.TryParse("2",out type);

 TryParse(转换的值或名称的字符串,是否区分大小写,枚举对象)

4.GetUnderlyingType(将被检索的枚举)返回该枚举的基础类型(Type)

Enum.GetUnderlyingType(typeof(Type))  返回system.int32

5.Enum.GetValues(枚举类型) 检索指定枚举中常数值的数组(int)

Enum.GetValues(typeof(Type)

6.GetName(枚举类型,指定枚举常数的值(根据其基础类型))

Enum.GetName(typeof(Type),2)

7.GetNames(枚举类型)指定枚举中常数名称的数组,返回string数组

Enum.GetNames(typeof(Type))

8.ToObject(枚举对象,要转换为枚举成员的值)

Enum.ToObject(typeof(Type), 2)

8.IsDefined(枚举类型,常数的值或名称)bool类型,枚举中是否存在指定值的常数

Enum.IsDefined(typeof(Type), 2) 

9.GetHashCode() 返回该实例的值的哈希代码,返回值是int类型

           Type type = new Type();
         int i= type.GetHashCode();

10.ToString() 将此实例的值转换成对应的字符串

Type type = new Type()   type.ToString()

或者 Type.One.ToString()

11.CompareTo(要比较的对象,或为null) 返回值为int类型,前者小于后者,返回值小于0,两者相等,返回值等于0,~~大于0

            int a = (int) Type.TypeOne;
            int i =a.CompareTo(2);

          Type.TypeOne.CompareTo(Type.TypeThree)

12.ToString(格式字符串) 返回值是string类型

  格式字符串有“D”,“G”,“X”,"F"    G直接转换成字符串类型   D将该实例的值转换成字符串类型 ,X将该实例的值转换成十六进制的字符串类型

 F将枚举项显示为字符串值

13.HasFlag(枚举对象) 返回值是bool类型,该实例是否设置了一个或多个位域(是否具有包含关系(个人理解))

14.GetTypeCode() 返回该实例的基础类型

Type.TypeThree.GetTypeCode()   返回的基础类型时int32

15.ToBoolean(),ToChar(),To~~~~  根据基础类型将当前值进行类型转换

16 获取枚举属性

 var  description=Type.GetField (枚举值).GetCustomAttributes(属性类型,false)

17获取枚举描述属性的例子

            Array values = Enum.GetValues(typeof(EnumType));
            foreach (var s in values)
            {
               //GetField(str) 获取具有指定名称(str)的公共字段
             System.Reflection.FieldInfo  val=typeof (EnumType).GetField(s.ToString());

            //该字段的描述属性的说明

             var  description =((DescriptionAttribute[])val.GetCustomAttributes(typeof (DescriptionAttribute), false))[0].Description
                Console.WriteLine(description);
            }


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
枚举类型在C语言中可以实现一些常量的定义和赋值,下面列举一些常用的枚举类型操作: 1. 枚举类型的定义 枚举类型的定义格式为: ``` enum 枚举类型名 { 枚举常量1, 枚举常量2, ... }; ``` 枚举类型名可以自定义,枚举常量可以按照需要自行定义。 2. 枚举类型变量的声明和赋值 可以通过枚举类型声明变量,并赋予相应的值。例如: ``` enum Color { Red, Yellow, Blue }; enum Color coatColor = Red; ``` 在上面的代码中,我们定义了一个枚举类型Color,包含Red、Yellow、Blue三个枚举常量,然后声明了一个名为coatColor的变量,并将其赋值为Red。 3. 枚举类型常量的引用 可以通过枚举类型名和枚举常量名来引用枚举类型定义的常量。例如: ``` enum Color { Red, Yellow, Blue }; enum Color myColor = Yellow; if (myColor == Red) { printf("My favorite color is red.\n"); } else if (myColor == Yellow) { printf("My favorite color is yellow.\n"); } else if (myColor == Blue) { printf("My favorite color is blue.\n"); } ``` 在上面的代码中,我们定义了一个枚举类型Color,包含Red、Yellow、Blue三个枚举常量,并声明了一个名为myColor的变量,并将其赋值为Yellow。然后,我们使用if语句判断myColor的值,并输出相应的结果。 4. 枚举类型的默认赋值 如果枚举类型中的枚举常量没有赋值,则默认第一个枚举常量的值为0,后续枚举常量的值依次递增1。例如: ``` enum Weekday { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }; ``` 在上面的代码中,我们定义了一个枚举类型Weekday,其中Monday的值为0,Tuesday的值为1,以此类推。 5. 枚举类型的强制类型转换 可以通过强制类型转换将枚举类型转换为整型或字符型。例如: ``` enum Color { Red, Yellow, Blue }; int redValue = (int)Red; char blueChar = (char)Blue; ``` 在上面的代码中,我们定义了一个枚举类型Color,包含Red、Yellow、Blue三个枚举常量,并将Red转换为整型赋值给redValue,将Blue转换为字符型赋值给blueChar。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值