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} enthaltendestinationIndex 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} enthaltenUm 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} enthaltenWenn 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} enthaltenAufgabe
EinfachErstelle 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));
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorInkrement/DekrementPost-Inkrement/DekrementArithmetische Kurzschreibweisen7Grundlagen IO
Einfache AusgabeString-InterpolationEingabe lesenParsenWiederholung - Bis 120Wiederholung - True or False5Operatoren Teil 2
VergleichsoperatorenLogische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 311Grundlagen von Arrays
Arrays deklarierenAuf Elemente zugreifenArrays ändernArrays kopierenArray-MethodenWiederholung – Produkt-ArrayWiederholung bearbeiten – Umgekehrtes ArrayÜbe selbstständig: Online-C#-Compiler