Array als Rückgabe einer Funktion

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von brichun.

    Array als Rückgabe einer Funktion

    Quellcode

    1. 'Definition#########################################
    2. Function Feld(A As Integer, B As Integer) As Integer ()
    3. Feld ={A,B}
    4. End Function
    5. 'Aufruf #############################################
    6. Dim FeldRückgabe(3) as Integer
    7. Feldrückgabe = Feld(5,10) 'die Ersten beiden elemente des des Arrays Feldrückgabe werden mit den punkten aus der funktion Feld beschrieben



    Das Array hat 4 leere Stellen, die ich alle verwenden möchte. Jetzt gibt mir die Funktion ein Array der Größe 2 zurück. Die ersten beiden Stellen von Feldrückgabe können verwendet werden jetzt weiss ich nicht wie ich die anderen beiden Stellen verwenden kann.


    In MathLab ist das möglich indem man einfach den Bereich eingibt welchen man beschreiben möchte

    Quellcode

    1. Bsp.
    2. Feldrückgabe (0:1) = Feld(1,5) 'die ersten beiden Stellen
    3. Feldrückgabe (2:3) = Feld(10,50) 'die letzten beiden Stellen



    Sowas möchte ich in VBA.net 2010 auch machen wenn das möglich ist.

    Ist sowas möglich?


    Danke Schön

    Gruß
    Brichun
    Wenn du möchtest, dass deine Funktion ein bereits vorhandenes Array füllt, dann musst du das Array als Parameter übergeben. Ich wüsste nicht, dass man ein Array, das man als Return-Wert bekommt, in ein anderes einspeichern kann.

    Viele Grüße, Phil.

    VB.NET-Quellcode

    1. Dim FeldRückgabe(3) as Integer 'dieses ist sinnlos, denn in der nächsten Zeile wird
    2. 'der Variable ein anneres Array zugewiesen, und dieses ist fürn Garbagecollector
    3. Feldrückgabe = Feld(5,10)

    effizient wäre:

    VB.NET-Quellcode

    1. Dim FeldRückgabe() as Integer 'uninitialisiertes Array
    2. Feldrückgabe = Feld(5,10)

    oder gleich:

    VB.NET-Quellcode

    1. Dim FeldRückgabe() as Integer = Feld(5,10)

    noch gleicher:

    VB.NET-Quellcode

    1. Dim FeldRückgabe = Feld(5,10)'Typ-Inferenz leitet die Deklaration direkt aus der Zuweisung ab

    Aber wie YaPh1 schon sagt: eine Zuweisung kann ein bereits bestehendes Array nicht befüllen (falls das gewünscht war), sondern nur ersetzen.