AGB  ·  Datenschutz  ·  Impressum  







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

Dynamische Datenstrukturen in .NET

Ein Thema von Raffigator · begonnen am 30. Apr 2007 · letzter Beitrag vom 30. Apr 2007
Antwort Antwort
Seite 3 von 3     123   
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#21

Re: Dynamische Datenstrukturen in .NET

  Alt 30. Apr 2007, 15:07
Zitat von Raffigator:
Hmm, ArrayList ist ja gut und schön, aber wie kann ich dort eine Liste von Records erstellen?
Am besten gar nicht.
Records machen in .Net nur da Sinn, wo man
  1. nicht daran vorbeikommt (P/Invoke) oder
  2. sie per-design immer lokal auf dem Stack leben.
  3. Pointer gehen nur auf ValueTypes
Ist alles nicht wirklich häufig.

In jedem anderen Fall sind ValueTypes mit Extrakosten verbunden.
Du kannst value types wunderbar wie primitive Werte behandeln, ein Int32 kann vom JIT, je nach Situation, wie ein normaler, nativer Int32 benutzt werden.
Du kannst sie auch wie ein Objekt benutzen, was du hier scheinbar willst. (ArrayList hält System.Object-Referenzen)
Aber letzteres erfordert, dass der Record wert durch Boxing zu einem Referenzwert wird.
Zitat:
Lässt sich ja problemlos kompilieren, aber wie kann ich hinterher auf die Daten in meinem Array zugreifen?
MyList[0].RecordTeil funktioniert ja nicht...
Na Type casting natürlich:DeinTyp(deineListe[0]).DoSomething(); Wobei du hier aufpassen musst. .Net ist wirklich type safe: Du kannst nicht die Königin auf Int boxen.
Ein type cast á la DeinTyp(wert) gibt dir entweder einen Wert von DeinTyp zurück, oder wenn "wert" sich nicht umwandeln lässt, nil.
wert as DeinTyp wird eine Exception werfen.
Ersteres ist bestimmt Ursache #1 für all die netten "Object reference not set to an instance of an object"-Meldungen, die man so in freier Natur vorfindet. :mgreen:
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 19:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz