R
Doug_HH schrieb:
Hey Rudi G,
der Vorschlag mit dem Buch kaufen von WeaponX2007 ist schon nicht verkehrt, nur ein vernünftiges Buch zu finden ist nicht ganz so einfach, ich selber schwöre auf das hier…
http://www.thalia.de/shop/buch_startseite_thalia/suchartikel/ivor_horton_s_beginning_visual_c_2008/ivor_horton/ISBN0-470-22590-4/ID15013997.html?jumpId=468685
Ist aber in Englisch…
Was aber eh in vielen Fällen besser ist, auch wenn sich einige mit Englisch schwer tun.
Vielen Dank für den Tipp. Auch wenn ich mich mit Englisch schwer tue werde ich es mir mal überlegen
Doug_HH schrieb:
Mit der Adresse ist so eine Sache bei dem Garbage Collector, da der Speicher ständig durch den GC neu strukturiert wird.
Wenn Du das Programm mal debuggst, wirst Du sehen, dass sich die Adresse ständig ändert, weil der GC durch das neu sortieren, leere Speicherblöcke vermeiden will.
"Wenn ich richtig in der Schule aufgepasst habe und der Dozent mir das richtig erklärt hat, ist das so."
Deswegen ist der direkte Zugriff auf einen Speicherbereich im GC nicht anzuraten.
Sorry ich habe Adresse geschrieben. Ich meinte das ich Handles einsetze und in Handles wird nicht die Adresse sonders der Wert Abgelegt und somit kann man das Sortieren bzw. die wechselnde Adresse "umgehen".
Doug_HH schrieb:
Ich würde Dir empfehlen, die Klasse durch einen Byte kistenID (Wenn Du mit 256 Kisten auskommst!) zu erweitern.
Ich möchte das die neuen Einträge dynamisch zur Laufzeit erstellt werden sollen, auch wenn das hier nur ne Übung ist, möchte ich es "Realitätsnah" realisieren. Wer weiß wieviel "Datensätze" der jeweilige Anwender brauchen wird? (einem reichen 250 und dem anderen nicht ;))
Deswegen sollen "beliebig" viele dynamisch -wenn die auch wirklich gebraucht werden- angelegt werden. Ich mache es in Form einer einfachen Liste.
Doug_HH schrieb:
Da Du die Liste ja nicht Rückwärts ausgeben möchtest, ist die letzte Adresse unwichtig.
Auch wenn ich die Liste rückwärts ausgeben möchte würde bräuchte ich nicht die letzte Adresse (in einem extra Handle). Ich könnte zuerst bis zum letzten "Datensatz" durch die Rekursion (ruft sich immmer wieder selber auf!) der Methode gehen und dann die Datensätze ausgeben. (dann fängt es bei dem letzten Datensatz an und geht rückwärts!).
Doug_HH schrieb:
Zumal ist die Letzte Adresse eh in der aktuellen Adresse hinterlegt.
Also in
„next = gcnew kiste;“
Gruß, Doug_HH
Das stimmt auch. Ich könnte jetzt "next" zurückgeben dann hätte ich die Daten des nächsten Elements in der Liste aber ich möchte das aktuelle Element der Liste zurückgeben. Wie kann ich das machen?
Ich hoffe ich konnte meine Frage etwas besser Formulieren bzw. mein Problem richtig darstellen.
Wenn nicht werde ich mal das "next->last" so wie ich mir das vorstelle ausprobieren und dann hier posten damit ihr versteht was ich meine. (Ihr könntet auch sagen dann mach es doch einfach so aber ich möchte wiesen ob es eine andere/einfachere Lösung gibt!)