有关集合的运算???(10分)

  • 主题发起人 主题发起人 cjdbd
  • 开始时间 开始时间
C

cjdbd

Unregistered / Unconfirmed
GUEST, unregistred user!
在书上看到这个一个例子:
(3) 交集
用*运算符来计算两个集合的交集,表达式S e t 1 * S e t 2 的结果是产生的集合的元素在S e t 1 和S e t 2 集合
中都存在,下面的例子用来判断在一个给定的集合中是否有某几个元素:
if {'a', 'b', 'c'}*CharSet={'a', 'b', 'c'} then

于是我自己做一个实验!!
procedure TForm1.Button1Click(Sender: TObject);
var
set1:set of char;
set2:set of 'A'..'z';
begin
if set1*set2=['a','b'] then
showmessage('ok');
end;

给果没有成功??并没有弹出'ok'; 'a','b',都在set1和set2集合里呀??
为什么不行??
 
set2:set of 'A'..'z';
哪里有'a' 'b'?????????
 
最主要一點
沒有初始化

最容易忽視的

procedure TForm1.Button1Click(Sender: TObject);
var
set1:set of char;
set2:set of 'A'..'B';
begin
set1 := ['A', 'B', 'C'];
set2 := ['A', 'B'];
if set1*set2=['A', 'B'] then
showmessage('ok');
end;

 
应该是没有初始化的问题,在使用Delphi中的集合时,这是容易忽视的一点,要给你定义
的集合变量赋值才能正确使用
 
接受答案了.
 
后退
顶部