Enum和Type
来源:互联网 发布:indesign cc 2017 mac 编辑:程序博客网 时间:2024/05/17 13:39
为了便于调用和代码管理,我们在学习的过程中会接触到Enum和Type两种数据类型,使用Enum可以显著的改变应用程序的可读性,而使用Type可以把不同的属性,方法封装到一个对象类中。
MSDN中关于Enum和Type
Enum和Type的区别
举例
Enum
Type
用Type类型定义的变量,拥有自己的成员,类似于一个小型的类(只不过没有事件和方法而已),可以用“变量名.成员名”访问成员。
枚举类型就相当于一组常量,即一组用Const定义的量,为了便于组织才使用枚举类型,不过枚举类型的变量也可以用“变量名.常量名”访问。
返回目录
比如说,我们如何表示星期,或者月份这样的量,我们当然可以用0,1,2,3,4,5,6 ,或者是1-12个月份。
这样我们在写程序的时候就得写 :
month = 3;
但是有了枚举就不一样了。
Public Enum Weekdays
...
March = 3
...
End Enum
我们可以这样写:
month = March
返回目录
最近敲了一个小例子,关于一个药房管理系统,最后打印清单的时候要求输出购买的药品名,药品单价,药品数量,并计算出花销的合计,最初也很纠结该怎样存储这些东西,后来发现只要定义一个自定义数据类型medicine,然后定义一个medicine类型的数组,购买过程中将信息存入数组,最后将数组内的信息输出并计算,打印到窗口上,就解决问题了
模块中定义自定义类型如:
Public type medicine
Mname as string
Mprice as integer
Mnum as integer
…
End type
定义可变数组:
Public final() as medicine
在每次购买药品后,重新定义final()数组,利用Preserve关键字,保存数组之前的数据,利用”变量名.成员名”将数据存入数组。
最后,利用”变量名.成员名”输出数据。
返回目录
Enum语句
定义枚举类型。
语法
[Public | Private]Enumname
membername [= constantexpression]
membername [= constantexpression]
. . .
End Enum
Enum 语句包含下面部分:
部分
描述
Public
可选的。表示该 Enum 类型在整个工程中都是可见的。Enum 类型的缺省情况是 Public。
Private
可选的。表示该 Enum 类型只在所声明的模块中是可见的。
name
必需的。该 Enum 类型的名称。name 必须是一个合法的 Visual Basic 标识符,在定义该Enum 类型的变量或参数时用该名称来指定类型。
membername
必需的。用于指定该 Enum 类型的组成元素名称的合法 Visual Basic 标识符。
constantexpression
可选的。元素的值(为 Long 类型)。可以是别的Enum 类型。如果没有指定constantexpression,则所赋给的值或者是 0(如果该元素是第一个 membername),或者比其直接前驱的值大 1。
说明
所谓枚举变量,就是指用 Enum 类型定义的变量。变量和参数都可以定义为Enum 类型。Enum 类型中的元素被初始化为Enum 语句中指定的常数值。所赋给的值可以包括正数和负数,且在运行时不能改变。例如:
Enum SecurityLevel
IllegalEntry =-1
SecurityLevel1 =0
SecurityLevel2 =1
End Enum
Enum 语句只能在模块级别中出现。定义Enum 类型后,就可以用它来定义变量,参数或返回该类型的过程。不能用模块名来限定Enum 类型。类模块中的Public Enum 类型并不是该类的成员;只不过它们也被写入到类型库中。在标准模块中定义的Enum 类型则不写到类型库中。具有相同名字的 Public Enum 类型不能既在标准模块中定义,又在类模块中定义,因为它们共享相同的命名空间。若不同的类型库中有两个Enum 类型的名字相同,但成员不同,则对这种类型的变量的引用,将取决于哪一个类型库具有更高的引用优先级。
不能在 With 块中使用 Enum 类型作为目标。
Type 语句
在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。
语法
[Private | Public] Typevarname
elementname [([subscripts])] As type
[elementname [([subscripts])]Astype]
. . .
End Type
Type 语句的语法包含下面部分:
部分
描述
Public
可选的。用于声明可在所有工程的所有模块的任何过程中使用的用户定义类型。
Private
可选的。用于声明只能在包含该声明的模块中使用的用户自定义的类型。
varname
必需的。用户自定义类型的名称;遵循标准的变量命名约定
elementname
必需的。用户自定义类型的元素名称。除了可以使用的关键字,元素名称也应遵循标准变量命名约定。
subscripts
可选的。数组元素的维数。当定义大小可变的数组时,只须圆括号。subscripts参数使用如下语法:
[lower To]upper [,[lowerTo]upper]. . .
如果不显式指定 lower,则数组的下界由 Option Base 语句控制。如果没有Option Base 语句则下界为 0。
type
必需的。元素的数据类型;可以是Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(对变长的字符串)、String * length(对定长的字符串)、Object、Variant、其它的用户自定义的类型或对象类型。
说明
Type 语句只能在模块级使用。使用 Type 语句声明了一个用户自定义类型后,就可以在该声明范围内的任何位置声明该类型的变量。可以使用Dim、Private、Public、ReDim或Static 来声明用户自定义类型的变量。
返回目录
- Enum和Type
- enum class type 和enum type 的区别
- enum data type
- create type/cast/ENUM
- type enum vs enum in c++
- 定义enum,我用struct { enum Type{};};
- enum和Enum区别
- enum和Enum区别
- enum和Enum关系
- Inheriting a C++ enum type
- Enum.Parse 方法 (Type, String)
- Enum.Parse 方法 (Type, String)
- Enum.Parse 方法 (Type, String)
- create enum type dynamically(in runtime)
- 掌握java枚举类型(enum type)
- C#中的枚举类型(enum type)
- C++11的enum class & enum struct和enum
- Enum类和enum关键字的区别
- android架构
- MongoDB管理与开发精要《红丸出品》23 结合应用Replica Sets + Sharding
- ListView和Adapter的基础知识
- mini2440 移植Linux2.6.30.10 及yaffs2文件系统
- PHP中的生成XML文件的4种方法
- Enum和Type
- PHP安全技术之 实现php基本安全
- Erlang开发建议(转)
- android控件之tabhost tabwedget
- 芯片MAXQ622G (MAXIM美信) -- 16位单片机
- php 运行效率总结(提示程序速度)
- VC字符串类型CString,int,char*,string互相转换代码实例
- Js获取当前日期时间及其它操作
- 小型企业如何发展