Jump to content

Velmor

Members
  • Gesamte Inhalte

    3
  • Registriert seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

Fortschritt von Velmor

Rookie

Rookie (2/14)

  • Einen Monat dabei
  • Eine Woche dabei
  • Erste Antwort
  • Erster eigener Beitrag

Neueste Abzeichen

0

Reputation in der Community

  1. @testperson ja vielen Dank wobei wie beschrieben ich es im Moment akzeptiere aber noch nicht verstehe :) Nochmals Danke und einen schönen Tag
  2. Vielen Dank schon mal für die Anwort, und die Begrüssung, klar kann ich mehr Code liefern :). Dachte das hier sind die Entscheidenden Stellen. Und warum mit Klassen....weil ich es mal ausprobieren wollte :) Hier der Code, wobei die write-host Zeilen für mich nur zum Testen waren. In der Variable $Inhalt steht die CSV drin. Die Variable $Userobjekt habe ich zum testen hier in der Funktion immer wieder neu erstellen lassen....um auch Sicher zu sein, dass es immer wieder ein neues Objekt ist :) Die CSV sieht so aus Personalnummer;Nachname;Vorname;Abteilung 12;Kohl;Helmut;3256;Handwerker function array2liste ($Inhalt) { $Userobjekt = New-Object -TypeName User $i=0 foreach ($Feld in $Inhalt) { $i++ $Userobjekt.Personalnummer = $Feld.Personalnummer $Userobjekt.Vorname=$Feld.Vorname $Userobjekt.Nachname=$Feld.Nachname $Userobjekt.Kostenstelle=$Feld.Kostenstelle $Userobjekt.Abteilung = $Feld.Abteilung $Userliste.Add($Userobjekt) # Write-Host "*************************************" # foreach ($eintrag in $Userliste)# #{ # Write-Host $i # Write-Host $Index # Write-Host $eintrag.Personalnummer # Write-Host $eintrag.Vorname # Write-Host $eintrag.Nachname #} } Write-Host "*************************************" Write-Host $Userliste[0].Personalnummer Write-Host $Userliste[0].Vorname Write-Host $Userliste[1].Personalnummer Write-Host $Userliste[1].Vorname Write-Host $Userliste[2].Personalnummer Write-Host $Userliste[2].Vorname Write-Host $Userliste[3].Personalnummer Write-Host $Userliste[3].Vorname } @Testperson Vielen Dank, die Lösung von Dir kam schneller als meine Antwort. Wobei ich es nicht verstehe...ich gebe dem Objekt doch immer wieder neue Werte und wenn ich diese Abfrage zeigt es mir auch immer wieder die neuen Werte an...nur beim Übertragen schlägt es dann "fehl". Ist es wie vermutet, dass ich nur einen Zeiger auf die Werte in meine Liste bringe ? Könntest Du mir das nochmal genauer erklären ? Vielen Dank der Velmor
  3. Hallo und einen schönen guten Tag an alle. Ich stehe vor einem kleinem Problem und finde nicht die Lösung/den Fehler. Zur Aufgabenstellung: Ich habe eine CSV-Datei die ich in eine Variable/Objekt/Array packe. $Inhalt = Import-csv -path $Ort -Delimiter ";" - Encoding UTF 8 Ausserdem habe ich eine Klasse erstellt, die sich User nennt und mit Personalnummer, Vorname, Nachname etc. bestückt ist. class User { [int]$Personalnummer [string]$Vorname [string]$Nachname [int]$Kostenstelle [string]$Abteilung } Jetzt möchte ich gerne ein Array/Objekt/Liste vom Typ User haben. Habe ich so gelöst : $Userliste = New-Object System.Collections.Generic.List[user] Und nun füge ich an einer anderen Stelle in einer Funktion die auf die globale $Userliste zugreift mit $Userliste.Add($Userobjekt) $Userobjekt hinzu, wobei diese vom Typ User sind. Deklariert habe ich das so $Userobjekt = New-Object -TypeName User Das bescheuerte an der Sache ist, ich sehe dass das $userobjekt mit den richtigen werten hinzugefügt wird und die Liste wird auch länger, aber die Liste "aktualisiert" sich immer mit dem letzten Userobjekt....also es steht dann n-Mal immer das Letzte Objekt drin und natürlich n mal nur der eine User. Ich würde ja sagen, da wird irgendwie nur ein Zeiger in die Liste gesetzt und der steht immer auf dem Inhalt des zu Letzt hinzugefügtem Objekt. Aber warum ist das so...wieso steht an jeder Stelle der $Userliste scheinbar das "selbe" Objekt. Vielleicht hat ja jemand nen Tipp vielen Dank und so long der Velmor
×
×
  • Neu erstellen...