// ####Delphi集合
// 集合(Set)——由具有某些共同特征的元素构成的一个整体,这些元素必须是有序类型,如:整型、布尔型、字符型、枚举型和子界型。
// ##集合类型的定义
// type
// <类型标识符>=set of <基类型>
// 基类型————集合中的元素必须是有序的同一种类的属性!
// Pascal规定:集合的元素个数最多为256个,所以基类型的序数必须在0-255之间!
type
Name= set of char;
Boolset= set of Boolean;
Weekday=(Sun,Mon,Tue,Wed,Thu,Fri,Sat);
Week= set of Weekday;
// ##集合常量的表示方法
// ['a','F','0']; //元素同属于Name类型
// ['1'..'9'];
// [Sun,Mon]; //元素同属于Week类型
// ##集合变量的定义
// 1、已定义集合类型:
// var <变量名>:<集合类型标识符>;
// sn: Name;
// 2、未定义集合类型:
// var <变量名>:set of <基类型>;
// si: set of 0..255; //元素为子界类型
// ##集合变量的赋值
// 程序中可以对集合变量赋集合常量值
// si:= [1..6,9];
// sn:= ['A'..'Z','a'..'z','0'..'9'];
// 集合变量的取值范围————包含空集在内的集合的所有子集,但是集合中的元素不能重复出现。
// ##集合类型运算
// 比较运算:
var
A,B:set of 0..255;
begin
A:= [1,2,6,7];
B:= [2,3,5,6,7,9];
A=B; //False
A<>B; //True
A<=B; //A包含于B:False
A>=B; //A包含B:False
1 in B; //1元素在B中集合:False
A+B; //A并B:[1,2,3,5,6,7,9]
A*B; //A交B:[2,6,7]
A-B; //A差B:[1]
A:= A+[9];
A:= A-[6];
Include(A,9); //Include,Exclude比+,-更快
Exclude(A,6);
end;
// ###集合的应用场景
// 应用于某种设置或方案允许同时选择多种选择的情况
Delphi类型区分——集合
猜你喜欢
转载自blog.csdn.net/liang08114/article/details/78804783
今日推荐
周排行