Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: Generic class <T> , wie füge ich konkrete Daten ein ?

  Alt 12. Jan 2024, 11:03
wenn ich aus Speicherbedarf und Performance Gründen bei Records bleiben möchte bzw. auch muss ...
gibt es keine Option meine Klassse generisch zu lassen (dh. ohne Informationen über die Art der Daten die ich verarbeite) und das Feld FRawData: TArray<T>; mit Daten über eine Klassenfunktion zu befüllen ?


Delphi-Quellcode:
 

TKMeans<T> = class
  private

  private
    FClusteredData: TClusterList<T>;

    FRawData: TArray<T>;
Zum lesen des internen Arrays der Clusterliste (array of T) müsstest du einen direkten Zugriff haben.
Ungefähr sowas wie FClusteredData.List.
Siehe: https://docwiki.embarcadero.com/Libr...ons.TList.List
Man kann darüber auch iterieren und sich den RangeCheck in TList.GetItem sparen.
Auch brauchst du dann wahrscheinlich keine Doppelung mit FRawData.

Zum Bulk befüllen müsste es diverse AddRange-Methoden geben:
https://docwiki.embarcadero.com/Libr...TList.AddRange

Geändert von TiGü (12. Jan 2024 um 11:29 Uhr)
  Mit Zitat antworten Zitat