首页 > [C#] enum 枚举

[C#] enum 枚举

  1. 默认情况下,枚举第一个值是0, 可显式为枚举赋值。
  2. 可以定义枚举的基础类型,如enum E : short {}, sizeof(E) == 2;默认情况下是int。
  3. 枚举的继承链:ValueType->Enum->enum
  4. 枚举类型和基础类型之间的转换都是显式的,0除外,因为存在从0代任何枚举类型的隐式转换。
  5. 枚举的ToString()会输出其枚举值的标识符、
  6. 从字符串转枚举:AEnumType a = (AEnumType)Enum.Parse(typeof(AEnumType), “flag”);可能失败,代码应包含异常处理机制。
  7. 可用Enum.IsDefined()检查一个值是否包含在一个枚举中。
  8. 为枚举添加FlagAttribute,可以使多个枚举值组合使用,形如:
[Flags]
public enum FileAttribute
{ReadOnly = 0x01,Hidden = 0x02,System = 0x04,Directory = 0x08,
}///
FileAttribute fa = FileAttribute.ReadOnly | FileAttribute.Hidden
fa.ToString(); // "ReadOnly, Hidden"FileAttribute fa2 = (FileAttribute)3;
fa2.ToString();//"ReadOnly, Hidden"

转载于:https://www.cnblogs.com/bangbang/archive/2011/05/06/2039245.html

更多相关:

  •    新手入门:C/C++中枚举类型(enum)   如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。   举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔...

  • 枚举提供了为强类型成员所用的常量值集合并且改进了代码可读性。枚举既可以是简单的也可以是标记。简单的枚举包含了没有在位比较操作中被组合或被使用的值。而标记枚举则是通过使用位比较操作关键字 OR 而有意被组合的。通过使用位比较操作关键字 AND 还可以对标记枚举的组合值进行检查。下列指导方针描述了枚举设计时的最佳实践。为强类型参数、属性,...

  • Python 与 ABC 的一个重要区别在于其类型系统。ABC 采用静态类型,编译器会检查程序中的变量类型是否保持一致,如果不一致,程序就无法运行。并且,ABC与当时大多数静态语言不同,采用的是类型推导(和 Haskell 一样),而不是类型声明(比如 C 语言)。而 Python 采用动态类型,所有类型检查都是在程序运行过程中,而不...

  • python是计算机二级考试的科目之一,并没有级别的划分。其考试目标是测试考生掌握Python语言知识的程度和对Python语言的编程能力、调试能力和综合应用能力,在当下的应用中是十分重要的。 什么是python Python语言是一种解释运行、面向对象、扩展性强的程序设计语言,是大学生学习计算机编程能力、理解计算机解决问题的方法的...

  • 正在学C,书上老说空指针,或者说void指针,对于我这样的生手来说,理解非常容易造成混淆,因为void这个单词的意思也是空,到底空指针的意思是指指向地址为空的类型呢,还是指void类型的指针呢 (1)空指针所对应的是指指向的对象为空的指针。            不经发问,什么叫指向为空呢?要理解这点,必须理解如下几点(有点啰嗦,但...

  • 一、reponseType 1、什么是reponseType XMLHttpRequest.reponseType属性是一个枚举类型的属性,返回响应数据的类型,他允许我们手动的设置 返回数据的类型。如果我们将它设置为一个空字符串,它将默认的使用"text"类型。 当将reponseType设置为一个特定的类型的时候需要确保服务...

  • SNMP中,数据类型并不多。这里我们就讨论这些数据类型,而不关心这些数据类型在实际中是如何编码的。INTEGER一个变量虽然定义为整型,但也有多种形式。有些整型变量没有范围限制,有些整型变量定义为特定的数值(例如,IP的转发标志就只有允许转发时的或者不允许转发时的这两种),有些整型变量定义一个特定的范围(例如,UDP和TCP的端口号...