Any efficient way to convert a TArray <string> to a TStringDynArray?
Pretty much of my code ( delphi-dutil , etc.) uses TStringDynArray. Now I want to convert all the keys a TDictionary<string, string>to TStringDynArray. Sorry, I found TDictionary.Keys.ToArraythat TArray<T>.
I know that I can write a simple copy function to make the original copy of the content, but mine is TStringDynArrayusually very large (about 10,000 entries), so I'm 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;
+4
1 answer
TArray<T>. , . .
, . , , .
. , , . , , .
var
DynArr: TStringDynArray;
GenericArr: TArray<string>;
....
DynArr := TStringDynArray(GenericArr);
GenericArr := TArray<string>(DynArr);
.
, . . :
function StringDynArray(const arr: TArray<string>): TStringDynArray;
begin
Result := TStringDynArray(arr);
end;
: : TArray <X> X?
+10