![]() |
Re: Dynamische Datenstrukturen in .NET
Zitat:
Zitat:
Records haben in .Net auf'm Heap nix zu suchen, das ist alles andere als performant. (siehe "Boxing" in egal welcher(m) .Net-Doku oder Buch) btw: ![]() In .Net >= 2.0 gibt es beides: List<T> (array basiert) und Linked<T>. In 1.1 kannst du also entweder mit der ArrayList arbeiten oder dir schnell eine verkette Liste friemeln. ;) |
Re: Dynamische Datenstrukturen in .NET
Zitat:
|
Re: Dynamische Datenstrukturen in .NET
Zitat:
Das eine ist ein BCL Klasse, die intern ihre Daten in einem Array verwaltet. (Klassisches verdoppeln wenn Count >= Capacity), das andere taugt höchstens was um sich am generierten IL zu belustigen. Oder in Delphi-Speak: ArrayList == TList mit Object statt Pointer als Elementtyp. System.Array ist immutable, will heißen eine Instanz mit 5 Elementen kann nicht plötzlich 6 haben. Delphi löst das indem es Zwischenvariablen einbaut und alles immer schön hin und her schubst. |
Re: Dynamische Datenstrukturen in .NET
Hallo,
Zitat:
Sie werden wohl unter Delphi/Pascal nicht so oft verwendet, aber dies ist ja kein Grund diese ganz zu meiden. Gruß Jörg |
Re: Dynamische Datenstrukturen in .NET
Zitat:
|
Re: Dynamische Datenstrukturen in .NET
Zitat:
Ergo -> Typunsicher, daher unsicherer Code, und damit nicht im Sinne von .NET. |
Re: Dynamische Datenstrukturen in .NET
Zitat:
![]() |
Re: Dynamische Datenstrukturen in .NET
Also ist nun ArrayList das Stichwort? Das ganze sollte natürlich schon performant sein...Da die Listen auch relativ lang werden könnten im Programm, bietet sich dann wohl die ArrayList an, richtig?
|
Re: Dynamische Datenstrukturen in .NET
Zitat:
|
Re: Dynamische Datenstrukturen in .NET
Hmm, ArrayList ist ja gut und schön, aber wie kann ich dort eine Liste von Records erstellen?
Delphi-Quellcode:
Lässt sich ja problemlos kompilieren, aber wie kann ich hinterher auf die Daten in meinem Array zugreifen?
...
type TMyRecord = record //mehrere Daten end; ... var MyList : ArrayList; MyRecord : TMyRecord; ... begin ... MyList := ArrayList.Create; MyList.Add(MyRecord); ... end; MyList[0].RecordTeil funktioniert ja nicht... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 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