- Wie fülle ich einen undefinierten Array? - Mit ReDim müsste ich doch immer die Größe festlegen und es dann füllen oder? - Ist es dann nicht besser eine 'Liste/(Arraylist)' zu verwenden? - Wofür könnte man überhaupt einen undefinierten Array gebrauchen (macht das überhaupt einen Sinn)?
Den Begriff undefinierte Arrays hab ich zwar noch nie gehört aber ich vermute mal die meinst Arrays mit dynamischer Größe:
Wie fülle ich einen undefinierten Array?
Durch Zuweisung eines anderen Arrays:
Dim array() As String array = Split(String, "|")
Was auch gleich die letzte Frage beantwortet: Wofür könnte man überhaupt einen undefinierten Array gebrauchen (macht das überhaupt einen Sinn)? Also immer dann, wenn ich ein anderes Arrays zuweisen möchte. Oder die Größe des Arrays erst später mit "ReDim" festlegen möchte.
Mit ReDim müsste ich doch immer die Größe festlegen und es dann füllen oder? Beim reinen ReDim ja. Du kannst auch erst Teile des Arrays befüllen und selbiges dann dynamisch erweitern wenn du merkst der Platz reicht nicht mehr. Ist aber sehr ressourcenintensiv da das Array in ein neues kopiert wird. Wichtig ist dann das Schlüsselwort Preserve um die Daten zu erhalten.
Dim array(2) As String array(1) = "test" array(2) = "test2" ReDim array(4) 'Alle vorherigen Elemente werden gelöscht array(3) = "test3" array(4) = "test4" Console.Write(String.Join(", ", array)) '=> ,, test3, test4
Ist es dann nicht besser eine 'Liste/(Arraylist)' zu verwenden? In dem meißten Fällen ist eine generische List(of T) besser als ein Array. Eine ArrayList entspricht eine List(of Object) also einer Liste von Objekten.
Gern geschehen :) Noch ein kleiner Tipp beim Arbeiten mit Arrays. Funktionsparameter und Returnwerte sollte man lieber as IEnumerable(of T) oder IList(of T) definieren als als Array. Das macht die Verwendung einfacher. Kann das auch weiter ausführen wenn du interessiert bist.
danke man