我正在解决一个需要动态调整数组大小的问题,在这个问题上需要大量操作。我已经成功编写了两个类,t_one 和 t_two:
tarray1 : array of longint;
tarray2 : array of single;
t_one = class(tobject)
Public
Myarray1 : tarray1;
constructor create;
destructor destroy;
procedure oneofmany;
end;
t_two = class(tobject)
Public
Myarray1 : tarray2;
constructor create;
destructor destroy;
procedure oneofmany;
end;
这两个对象的代码几乎相同,只是 Myarray1 在一种情况下是 single 数组,而在另一种情况下是 longint 数组。将其制成单个对象以使用变体数组的唯一方法是(这会减慢速度)吗?变体记录对于我正在做的事情也是低效的。如果我能说
case mysituation of
integerdata : (myarray1 : tarray1);
realdata: (myarray1 : tarray2);
end;
这就是我的意思,但显然这种语法是诅咒。当然,有些地方方法调用和函数结果需要知道数据类型,但一旦定义它们是一致的。想法?使用变体数组并遭受减速?