Quite a big portion of my code (delphi-dutil, etc.) uses TStringDynArray
. Now I want to convert all keys a TDictionary<string, string>
to a TStringDynArray
. Unfortunately I only found TDictionary.Keys.ToArray
, which is TArray<T>
.
I know I can write a simple copy function to do a raw content copy, but my TStringDynArray
is usually very big (roughly 10000 entries), so I am looking for an efficient way to convert TArray<string>
to TStringDynArray
.
function ConvertToStringDynArray(const A: TArray<string>): TStringDynArray;
var
I: Integer;
begin
assert(A <> nil);
SetLength(Result, Length(A));
for I := 0 to Length(A) - 1 do
Result[I] := A[I];
end;