//定义
type
Uppercase = 'A'..'Z';
Letters = set of Uppercase; //基于子界定义
TBorderIcon = (biSystemMenu, biMinimize, biMaximize, biHelp);
TBorderIcons = set of TBorderIcon; //基于枚举定义
//应用
type
Uppercase = 'A'..'Z';
Letters = set of Uppercase; //基于子界定义
var
L1, L2, L3: Letters;
begin
L1 := ['A', 'B', 'C'];
L2 := ['K'];
L3 := [];
if 'A' in L1 then ShowMessage('true'); //true
if L2=['K'] then ShowMessage('true'); //true
if L3=[] then ShowMessage('true'); //true
end;
//判断是否属于集合
type
TSet = set of (A,B,C);
var
set1: TSet;
begin
set1 := [A,B];
if A in set1 then
ShowMessage('集合 set1 包含 A');
end;
//集合元素的增减
type
TSet = set of (A,B,C);
var
set1: TSet;
begin
set1 := [A];
set1 := set1 + [B]; //增加一个元素
Include(set1,B); //增加一个元素
set1 := set1 - [B]; //排除一个元素
Exclude(set1,B); //排除一个元素
end;
//集合添加元素举例
type
TCharSet = set of char;
var
character: 'a'..'z';
charSet: TCharSet;
word: string;
begin
charSet := [];
for character in [Low(character) .. High(character)] do
begin
if character in ['d', 'e', 'l', 'p', 'h', 'i'] then
begin
Include(charSet, character);
end;
end;
for character in charSet do
begin
word := word + character;
end;
ShowMessage(word); //dehilp
end;
//交集
procedure TForm1.FormCreate(Sender: TObject);
type
TSet = set of (A,B,C,D,E,F,G);
var
set1,set2,set3: TSet;
begin
set1 := [A,B,C];
set2 := [C,D,E];
set3 := set1 * set2;
{现在 set3 应该是 [C], 测试下}
if set3 = [C] then ShowMessage('Ok');
end;
集合
原创
©著作权归作者所有:来自51CTO博客作者JLee79的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:is 与 as 运算符举例
下一篇:子界
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Set集合、Map集合
Set集合、Map集合、Collection工具类知识点梳理
Set集合 Map集合 Collections工具类