Jump to content

PowerShell: Eingaben in Array speichern


Gast ManfredH
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Gast ManfredH

Mahlzeit,

 

kann mir bitte jemand erklären, wie ich in der PowerShell mehrere Werte in einem Array speichern kann?

 

Das Ganze soll so sein, dass man per Eingabe-Schleife eine beliebige Anzahl von Werten eingeben kann, bis eine Abbruchbedingung greift.

 

Problem: Wie kann ich nun diese eingegebenen Werte flexibel im Array speichern, wenn ich vorher noch gar nicht weiß, wie viele Werte am Ende auch wirklich eingegeben werden? Das Array müsste ja dann dynamisch mitwachsen und alle Werte aufnehmen. :confused:

Link zu diesem Kommentar

Hallo,

 

das ist eigentlich rest einfach:

 

while(1 -eq 1){
$eingabe += @(read-host "Ihre Eingabe")
}

 

Solange in dem Beispiel 1 gleich 1 ist, verlangt das Skript Eingaben. Diese Eingaben werden in einem Array gespeichert. Bei jeder Eingabe wird allerdings ein neues Array erstellt und das drückt hier die Performance. Da der User aber die Eingaben macht, ist dieser Aspekt zu vernachlässigen. Wenn es auf Performance ankommt, dann würde ich unter Umständen eine Arraylist nehmen.

 

Viele Grüße

 

Frank

Link zu diesem Kommentar
Gast ManfredH

Hallo Frank,

 

erstmal danke für die schnelle Antwort. Ich hatte mir das eigentlich folgendermaßen vorgestellt:

 

$AlleEingaben = "Wert 1", "Wert 2", "Wert 3", "Wert4", ...

 

Anschließend möchte ich dann auf die einzelnen Werte zugreifen können, ohne dass ich für jeden eingegebenen Wert ein neues Array bekomme. Geht das irgendwie?

 

Im Prinzip muss das Array für die Variable "$AlleEingaben" ja nur entsprechend der Eingabewerte ständig erweitert werden ... aber wie?

Link zu diesem Kommentar
Gast ManfredH

Ok, meine Frage war schlecht formuliert, neuer Versuch:

 

Die Ausgabe, wie du sie beschrieben hast, ist mir bekannt. Mein Problem ist die Eingabe dieser einzelnen Werte über die Schleife. Wie schaffe ich es denn, dass alle einzelnen Werte in der Variable "$AlleEingaben" aufgenommen werden?

Link zu diesem Kommentar

Hallo,

 

hast Du meine Ansatz überhaupt getestet? Lasse Dich nicht von meinem ersten Posting verwirren. Es ist genau das, was Du willst. Es wird nicht für jeden Wert ein neues Array erstellt, sondern wenn ein Wert zu dem Array kommt, wird das alte Array in ein neues kopiert. Das kostet Performance was aber in Deinem Fall nicht relevant ist.

 

Viele Grüße

 

Frank

Link zu diesem Kommentar
Gast ManfredH

Hallo Frank,

 

ich hatte es getestet - aber natürlich nur halb und damit die Ausgabe vergessen. Sorry. :o

Ich konnte es nun nachvollziehen und es passiert das, was auch passieren sollte. Danke!

 

Eine Frage noch: Hat jemand einen Tipp, wie ich auf eine leere Eingabe überprüfen kann?

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...