Einzelnen Beitrag anzeigen

Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
479 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: dynmisches array statt TArray<T>?

  Alt 22. Nov 2022, 11:45
Und das ist ein Nachteil?
Das kommt darauf an, was du als "Nachteil" siehst.

Delphi-Quellcode:
type
  TArray1 = array of String;
  TArray2, TArray3 = array of String;
  TArray4 = TArray<String>;
  TArray5 = TArray<String>;
begin
  TypeInfo(TArray1) = TypeInfo(TArray2) // Ergibt False
  TypeInfo(TArray2) = TypeInfo(TArray3) // Ergibt True
  TypeInfo(TArray4 {oder: 5}) = TypeInfo(TArray1 {oder: 2 oder: 3}) // Ergibt False
  TypeInfo(TArray4) = TypeInfo(TArray5) // Ergibt Tue
end.
Meiner Meinung nach sollte man eigentlich in modernen Anwendungen immer TArray<T> benutzen, außer es gibt einen wirklich guten Grund es nicht zu tun.
Der "einzige" Grund meiner Meinung nach sind hier offene Array-Parameter, denn die können halt auch staische Arrays entgegennehmen, was ein dynamischer Array-Parameter nicht kann.

Delphi-Quellcode:
//Grundsättzlich gilt, dass...
var Strs: TArray<String>;
// ...immer gleichbedeutend mit...
type TStrs = TArray<String>;
var Strs: TStrs;
//...und mit...
type TStrs = array of String;
var Strs: TStrs;
// ...ist, ohne Ausnahmen.
// Voraussetzung hierfür ist, dass alle Variablen immer den gleichen Typen benutzen.
Dennis
  Mit Zitat antworten Zitat