gpt4 book ai didi

.net - 如何在Oxygene中设置动态数组大小(SetLength不起作用)

转载 作者:行者123 更新时间:2023-12-03 19:45:24 25 4
gpt4 key购买 nike

使用Oxygene的SetLength等效于什么?我正在尝试确定整数数组的大小。

var listIndexes: array of integer;
begin
setLength(listIndexes,5); // doesn't work
end;

最佳答案

Bill,Delphi-Prism中不存在函数Setlength(您可以使用ShineOn中的命名空间ShineOn.Rtl,其中有Setlength函数的部分实现)。

在delphi棱镜中,您可以尝试一下

type
IntegerArray = array of integer;

var listIndexes: IntegerArray;
listIndexes:=New IntegerArray(5);


要么

 var listIndexes: Array of Integer;
listIndexes:=New Integer[5];


更新

另外,您可以编写自己的SetLength

method SetLength(var myArray: Array of Integer; NewSize: Integer);
var
ActualLength: Integer;
begin
var DummyArray: &Array := &Array.CreateInstance(typeOf(Integer), NewSize);
if assigned(myArray) then
begin
ActualLength:= iif(myArray.Length > NewSize, NewSize, myArray.Length);
&Array.Copy(myArray, DummyArray, ActualLength);
end;
myArray := array of integer(DummyArray);
end;

关于.net - 如何在Oxygene中设置动态数组大小(SetLength不起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1701900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com