【发布时间】:2020-03-19 07:53:51
【问题描述】:
我注意到在我看来是通用 TArray 语法不一致的地方(这让我抓狂......)
“构造函数”函数需要通过在函数名之前指定类型来调用。
MyArray := TArray<Integer>.Create(3, 2, 1);
其他类函数需要在函数名之后指定类型调用
TArray.Sort<Integer>(MyArray);
他们这样做有实际原因吗?
【问题讨论】:
-
可能是因为 TArray
不是一个类?另一方面,TArray 是一个类,它提供了一些与 TArray 实例一起使用的函数。我们不应该混合 TArray 和 TArray - 它们是完全不同的东西。 -
第一个
TArray是array of T的系统类型定义。创建可以写成MyArray := [3,2,1];第二个TArray是一个类。 -
是的,使用
Create会使动态数组感到困惑。他们应该更好地使用New-ala C#-或Init-ala Turbo Pascal。但现在为时已晚。
标签: arrays delphi generics delphi-xe7 generic-collections