使用TArray类函数

我需要对TArray<integer>进行排序,已将System.Generics.Collections添加到uses子句中,然后尝试了以下代码:

var
  Arr : TArray<integer>;
begin
  SetLength(Arr,2);
  Arr[0] := 5;
  Arr[1] := 3;

  TArray.Sort(Arr);

  ShowMessage(IntToStr(Arr[0]));
end;

编译时会产生 E2250 错误,提示:

[dcc32错误] Unit1.pas(39):E2250没有重载版本的 可以使用这些参数调用的“排序”

qq928081068 回答:使用TArray类函数

在写问题时,我找到了答案...(这是一个琐碎的语法问题)

TArray类中,Sort函数的定义如下:

class procedure Sort<T>(var Values: array of T); overload; static;

因此TArray类函数必须通过在函数名称后的之后指定类型来调用:

var
  Arr : TArray<integer>;
begin
  SetLength(Arr,2);
  Arr[0] := 5;
  Arr[1] := 3;

  TArray.Sort<integer>(Arr);

  ShowMessage(IntToStr(Arr[0]));
end;
本文链接:https://www.f2er.com/2666636.html

大家都在问