Array Kopieren

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von skyscater.

    Array Kopieren

    Hallo, steh wieder mal am Schlauch ><
    (Google will heute auch nicht ><)
    Ich muss eine Kopie von einem 2-Dimensionalem Array mit 3x3 Elementen erstellen.
    Das Array ist vom Typ einer Klasse.

    Wenn ich das Array mit [arrayname].clone() kopiere und dann änderungen darin vornehme werden trotzdem Änderungen im Orginalarray vorgenommen.
    Dann hab ichs mit Array.Coppy([kopierarray],[zielarrar],9) probiert und es kam das selbe wie vorher heraus ><

    Jetzt meine Frage wie kann ich ein komplettes Array komplett kopieren so dass es keine Verweise mehr auf die Orginalobjekte gibt.

    Hoffe ihr versteht mein Problem und könnt mir helfen.
    mfg.skyscater
    Müsste so gehen

    VB.NET-Quellcode

    1. Dim Array1 As Integer(5)
    2. Dim Array2 As Integer()
    3. Array1(0) = 1 ' ...
    4. Array2 =Array.Copy(Array1, 0, 6)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    beim mir siehts ungefähr so aus:

    VB.NET-Quellcode

    1. Dim Array1 As Integer(2,2)
    2. Dim Array2 As Integer()
    3. Array1(0) = 1 ' ...
    4. Array.Copy(Array1, Array2,9)


    Array.Copy is ja eine Sub die gibt nach nichts zurück oder?
    Auf jeden fall hast so wie schon gesagt nicht funktioniert.
    @Rod: Du mußt ein Array erstmal dimensionieren, bevor du was reinkopieren kannst.

    @skySkater: da fehlt Kenntnis der Syntax. Man kann doch nicht ein eindimensionales Array in ein 2-dimensionales kopieren. Vlt hilft dir Arrays und Listen + Mehrdimensionalität weiter, ansonsten dieses Buch Lesen

    Aber die Anforderung ist auch einfach nicht erfüllbar
    Jetzt meine Frage wie kann ich ein komplettes Array komplett kopieren so dass es keine Verweise mehr auf die Orginalobjekte gibt.

    Auch in der Kopie eines Arrays verweisen alle Elemente auf dieselben Instanzen.

    Du müsstest also ein neues Array erstellen und befüllen mit lauter Klons der Elemente des ersten Arrays.
    Mein Fehler.
    Hab ich natürlich gemacht.
    Das kopieren war eh erfolgreich mein Problem war nur, dass es imemr noch Verweise gab.
    Hab das jetzt auch so gelöst, Alles per hanbd zu klonen.
    Danke für die Mühen.
    mfg.skyscater