用户自定义类型02
让编程改变世界
Change the world by program
集合类型的定义与使用
Delphi集合这个概念跟我们数学中的集合概念十分相似,集合是具有相同性质但又可以区分开来的对象的全体。 在Delphi中,集合的对象只能限定在某个范围之内,集合中的对象称为元素。 与数组、枚举和子界类型不同,集合中的元素是没有先后顺序的。 另外,集合中的元素是各不相同的,这与枚举和子界类型相似。集合类型的定义格式如下
[格式]: [codesyntax lang="delphi"]Type 类型标识符 = set of 基类型;[/codesyntax] 我们可以这么定义: [codesyntax lang="delphi"]
Type Colors = (Red, Green, Blue, Yellow); Color = set of Colors; Char = set of ‘a'..‘z';[/codesyntax] 注意,集合类型的元素个数不能超过256,而且其序数值也必须在0~255范围之内。 例如,下面的定义是错误的: [codesyntax lang="delphi"]
type num = Set of 200..400;[/codesyntax] 集合类型也有两种方法声明:先定义类型,再声明变量;或者声明变量与定义类型合二为一 [codesyntax lang="delphi"]
var Char1: Set of ‘a'..‘z';[/codesyntax]
在使用集合类型时需讲解三点:
集合变量的取值
集合的交、并和差运算
集合的各种关系运算。
对集合变量的取值,如果知道数学中集合的有关知识,就很容易理解。 集合变量的取值是一个集合,称为集合值,它包括空集合在内的全体子集。 例如,有n个元素的集合,其集合值有2^n个。 注意: 根据集合类型的定义,集合变量的取值与其元素的先后顺序无关; 集合中的重复元素视作同一个元素。 集合值的表示形式为:以方括号括起来的以逗号隔开的元素序列。 例如:[‘a’, ‘b’, ‘c’] 就是集合变量 Char1 的一个取值。