WinFuture-Forum.de: C# Liste übergeben an Funktion ändert die ursprüngliche Liste - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

C# Liste übergeben an Funktion ändert die ursprüngliche Liste


#1 Mitglied ist offline   DieKillerhuhn 

  • Gruppe: aktive Mitglieder
  • Beiträge: 178
  • Beigetreten: 13. Mai 08
  • Reputation: 0

geschrieben 09. November 2016 - 09:34

Guten Tag,

ich habe eine Liste Name und diese übergebe ich an eine Funktion.

public List <string> filterNamen(List<string> Name)
{
.. 
irgendwo hier rufe ich Name.RemoveAt(..) auf.
}


Wenn ich diese aufrufe mit gefilterte = filterNamen(Namen) dann ändert es meine Liste Array auch. Wie kann ich das umgehen?

Ich hoffe das ist verstädnlich

Grüße
0

Anzeige



#2 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 09. November 2016 - 17:56

Option 1: ByVal übergeben statt ByRef.

Option 2: In der Funktion dafür sorgen, daß die Eingabeparameter nicht angefaßt werden. Also statt RemoveAt() einfach for-each $Element in $AlteListe: $element -Match $Filter ? $neueListe.Push($element) und fertig ist der Laden.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#3 Mitglied ist offline   DieKillerhuhn 

  • Gruppe: aktive Mitglieder
  • Beiträge: 178
  • Beigetreten: 13. Mai 08
  • Reputation: 0

geschrieben 09. November 2016 - 18:37

Danke!
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0