Hallo liebe Community,
ich lerne gerade C#. Momentan bin ich bei der Methodenüberladung und habe das Problem, dass sich das übergebene Originalarray nach der Übergabe an eine Methode und der Bearbeitung darin ändert, das möchte ich irgendwie umgehen.
Könnt Ihr mir sagen wie ich das machen muss, in meinen Büchern find ich da leider nichts dazu.
Hier der Quellcode und vielen Dank.
ich lerne gerade C#. Momentan bin ich bei der Methodenüberladung und habe das Problem, dass sich das übergebene Originalarray nach der Übergabe an eine Methode und der Bearbeitung darin ändert, das möchte ich irgendwie umgehen.
Könnt Ihr mir sagen wie ich das machen muss, in meinen Büchern find ich da leider nichts dazu.
Hier der Quellcode und vielen Dank.
C#-Quellcode
-
- public static string[] einfuegenOverload(string[] stringFeld)
- {
- string[] ergebnis = new string[16];
- string[] mystringFeld = stringFeld;
- ergebnis = mystringFeld;
- ergebnis[0] = "EingefuegterText01";
- ergebnis[1] = "EingefuegterText02"; ;
- ergebnis[2] = "EingefuegterText03"; ;
- ergebnis[3] = "EingefuegterText04"; ;
- return ergebnis;
- }
- public static string[] einfuegenOverload(string[] stringFeld, int pos1)
- {
- string[] ergebnis = new string[stringFeld.Length];
- int position1 = pos1;
- string[] mystringFeld = stringFeld;
- ergebnis = mystringFeld;
- ergebnis[position1] = "EingefuegterText01";
- return ergebnis;
- }
- public static string[] einfuegenOverload(string[] stringFeld, int pos1, int pos2)
- {
- string[] ergebnis = new string[stringFeld.Length];
- int position1 = pos1;
- int position2 = pos2;
- string[] mystringFeld = stringFeld;
- ergebnis = mystringFeld;
- ergebnis[position1] = "EingefuegterText01";
- ergebnis[position1] = "EingefuegterText02";
- return ergebnis;
- }
- public static string[] einfuegenOverload(string[] stringFeld, int pos1, string[] stringFeld02)
- {
- string[] ergebnis = new string[stringFeld.Length];
- string[] myStringFeld = stringFeld;
- string[] myStringFeld02 = stringFeld02;
- int position1 = pos1;
- ergebnis = myStringFeld;
- ergebnis[position1] = "EingefuegterText01";
- myStringFeld02.CopyTo(ergebnis, 1);
- return ergebnis;
- }
- string[] stringFeld01 = new string[] { "Tarzan", "Zorro", "BatMan", "Robin", "BatGirl", "Superman", "Black Widdow", "SuperGirl", "Hulk", "The Thing", "Dr. Strange", "Venom", "Black Panther", "She-Ra", "Battle Cat", "Harley Quinn" };
- string[] stringFeld02 = new string[] { "Luke Skywalker", "Obi Wan Kenobi", "Han Solo", "C3PO", "R2D2" };
- string[] ergebnisOverloading1 = new string[16];
- string[] ergebnisOverloading2 = new string[16];
- string[] ergebnisOverloading3 = new string[16];
- string[] ergebnisOverloading4 = new string[16];
- int position1 = 1;
- int position2 = 2;
- int position3 = 3;
- ergebnisOverloading1 = einfuegenOverload(stringFeld01);
- ergebnisOverloading2 = einfuegenOverload(stringFeld01, position1);
- ergebnisOverloading3 = einfuegenOverload(stringFeld01, position1, position2);
- ergebnisOverloading4 = einfuegenOverload(stringFeld01, position3, stringFeld02);
- Console.WriteLine("Ausgabe originale Methode: ");
- foreach (string item in ergebnisOverloading1)
- {
- Console.WriteLine(item);
- }
- Console.WriteLine();
- Console.WriteLine("Ausgabe Überladung 1: ");
- foreach (string item in ergebnisOverloading2)
- {
- Console.WriteLine(item);
- }
- Console.WriteLine();
- Console.WriteLine("Ausgabe Überladung 2: ");
- foreach (string item in ergebnisOverloading3)
- {
- Console.WriteLine(item);
- }
- Console.WriteLine();
- Console.WriteLine("Ausgabe Überladung 4: ");
- foreach (string item in ergebnisOverloading4)
- {
- Console.WriteLine(item);
- }
- Console.WriteLine();