Generische Liste wird an Methode übergeben die diese Liste bearbeitet die originale Liste ändert sich aber auch, wie kann ich das verhindern?

  • C#

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Questioner.

    Generische Liste wird an Methode übergeben die diese Liste bearbeitet die originale Liste ändert sich aber auch, wie kann ich das verhindern?

    Hallo,

    ich übergebe eine generische Liste an eine Methode die diese Liste ändert. Soweit klappt das ja aber die originale Liste die ich an die Methode übergebe ändert sich auch. Wie kann ich das verhindern. Bei Arrays gibt es die Arrayklasse die mir CopyTo() zur verfügung stellt, bei Listen gibt es das aber nicht. Könnt Ihr mir da weiterhelfen?

    C#-Quellcode

    1. static void Main(string[] args)
    2. {
    3. List<int> listOfInteger005 = new List<int>()
    4. {
    5. 4711,
    6. 1881,
    7. 53280,
    8. };
    9. List<int> ergebnis010 = new List<int>();
    10. Console.WriteLine("Aufgabe_010: ");
    11. Console.WriteLine("Originalliste vor Aufruf der Methode: ");
    12. foreach (int item in listOfInteger005)
    13. {
    14. Console.WriteLine(item);
    15. }
    16. Console.WriteLine();
    17. ergebnis010 = anhaengenKomlett002(listOfInteger005);
    18. Console.WriteLine("Originalliste nach Aufruf der Methode: ");
    19. foreach (int item in listOfInteger005)
    20. {
    21. Console.WriteLine(item);
    22. }
    23. Console.WriteLine();
    24. Console.WriteLine("Rückgabewert nach Aufruf der Methode: ");
    25. foreach (int item in ergebnis010)
    26. {
    27. Console.WriteLine(item);
    28. }
    29. Console.WriteLine();
    30. }
    31. public static List<int> anhaengenKomlett002(List<int> paramList)
    32. {
    33. List<int> myErgebnisList = paramList;
    34. List<int> myAngehaengteList = new List<int>()
    35. {
    36. 1000,
    37. 2000,
    38. 4400,
    39. };
    40. myErgebnisList.AddRange(myAngehaengteList);
    41. return myErgebnisList;
    42. }


    Vielen Dank für Eure Hilfe,
    Questioner