AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TArray<string> als const im Record deklarieren

Ein Thema von DieDolly · begonnen am 5. Dez 2019 · letzter Beitrag vom 15. Dez 2019
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.373 Beiträge
 
Delphi 12 Athens
 
#9

AW: TArray<string> als const im Record deklarieren

  Alt 5. Dez 2019, 17:56
Warum muß diese Konstante denn ein dynamisches Array und kann nicht statisch sein? (OK, bei Zuweisung an ein dynamisch Array muß dann umkopiert werden)

Kann Delphi nicht auch inzwischen bei statischen Arrays die Länge selbst bestimmen?
const X: array[] of string = ('1', '2');



Zitat:
Delphi-Quellcode:
var
  a1: array of String;
  a2: TArray<String>;
Array of string definiert an dieser stelle einen neuen Typ und der ist dann mit dem anderen Array nicht zuweisungskompatibel (auch wenn die Typen intern ja eigentlich gleich sind-
Entsprechend dem obrigen Beispiel das, was der Compiler daraus macht:
Delphi-Quellcode:
type
  T1: array of String;
  T1: array of String;
var
  a1: T1;
  a2: T2;
Delphi-Quellcode:
type
  Tx: array of String; // globaler Typ aus TArray<T>
var
  a1: Tx;
  a2: Tx;

Bei den Generics ala TArray<T> werden die gleichgeschriebenen Typen überall auch gleich identisch verwendet, also mit dem selben Typen der ersten Deklaration.



Zitat:
Delphi-Quellcode:
type
  TRec = record
  const
    MyArray: TArray<String> = ['First','Second','Third'];
  end;
Bei Dem dachte ich zuerst an
Delphi-Quellcode:
const
  Rec = record
    MyArray: array[0..2] of string;
  end = (MyArray: ('First','Second','Third'));
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Dez 2019 um 17:58 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz