Menu
CoddyTech

Arrays kopieren

Teil des Abschnitts Grundlagen der C#-Journey von Coddy. Lektion 58 von 70.

Um Elemente von einem Array in ein anderes zu kopieren, verwende Array.Copy. Die Methode benötigt fünf Argumente:

Array.Copy(source, sourceIndex, destination, destinationIndex, length);

Die Methode nimmt length Elemente aus source, beginnend bei sourceIndex, und schreibt sie in destination, beginnend bei destinationIndex. Das Zielarray muss bereits vorhanden und groß genug sein.

Das letzte Argument ist eine Anzahl: wie viele Elemente kopiert werden sollen, nicht wo gestoppt werden soll.

int[] scores = {90, 75, 60, 85};
int[] firstTwo = new int[2];
Array.Copy(scores, 0, firstTwo, 0, 2);
// firstTwo wird {90, 75} enthalten

destinationIndex gibt an, an welcher Stelle das erste kopierte Element landet. Wenn du source.Length als Anzahl verwendest, wird das ganze Array kopiert, unabhängig von seiner Größe:

int[] source = {1, 2, 3};
int[] destination = new int[6];
Array.Copy(source, 0, destination, 3, source.Length);
// destination wird {0, 0, 0, 1, 2, 3} enthalten

Um ein Array an ein anderes anzuhängen, kopierst du das zweite an die Position, an der das erste endet. Diese Position ist die Length des ersten Arrays:

int[] first = {1, 2};
int[] second = {7, 8, 9};
int[] all = new int[first.Length + second.Length];
Array.Copy(first, 0, all, 0, first.Length);
Array.Copy(second, 0, all, first.Length, second.Length);
// all wird {1, 2, 7, 8, 9} enthalten

Wenn beide Arrays bei Index 0 beginnen, gibt es eine kürzere Form, Array.Copy(source, destination, length):

int[] source = {4, 5, 6, 7};
int[] destination = new int[3];
Array.Copy(source, destination, 3);
// destination wird {4, 5, 6} enthalten
challenge icon

Aufgabe

Einfach

Erstelle eine Methode namens AddToEnd, die ein Array von Zeichenfolgen und eine Zeichenfolge item erhält. Sie gibt ein neues Array zurück, das jedes Element des Arrays in derselben Reihenfolge enthält, wobei item am Ende hinzugefügt wird.

Zum Beispiel gibt AddToEnd(new string[] {"a", "b", "c"}, "d") den Wert ["a", "b", "c", "d"] zurück.

Verwende Array.Copy(), um die Elemente in das neue Array zu kopieren.

Eingabeformat (2 Zeilen):

  • Zeile 1: die durch Kommas getrennten Array-Elemente (z. B. a,b,c)
  • Zeile 2: das hinzuzufügende Element (z. B. d)

Ausgabeformat: die Elemente des neuen Arrays, getrennt durch ein Komma und ein Leerzeichen (z. B. a, b, c, d)

Probier es selbst

using System;

public class Program {
    public static string[] AddToEnd(string[] arr, string item) {
        // Schreibe hier den Code
    }

    public static void Main(string[] args) {
        string[] arr = Console.ReadLine().Split(',');
        string item = Console.ReadLine();
        string[] result = AddToEnd(arr, item);
        Console.WriteLine(string.Join(", ", result));
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-C#-Compiler