Kopiowanie tablic
Część sekcji Podstawy ścieżki C# w Coddy. Lekcja 58 z 70.
Aby skopiować elementy z jednej tablicy do drugiej, użyj Array.Copy. Przyjmuje pięć argumentów:
Array.Copy(source, sourceIndex, destination, destinationIndex, length);Pobiera length elementów z source, zaczynając od sourceIndex, i zapisuje je w destination, zaczynając od destinationIndex. Tablica docelowa musi już istnieć i być wystarczająco duża.
Ostatni argument to liczba elementów do skopiowania, a nie miejsce, w którym należy zakończyć.
int[] scores = {90, 75, 60, 85};
int[] firstTwo = new int[2];
Array.Copy(scores, 0, firstTwo, 0, 2);
// firstTwo będzie zawierać {90, 75}destinationIndex to miejsce, w którym trafia pierwszy skopiowany element. Użycie source.Length jako liczby elementów do skopiowania powoduje skopiowanie całej tablicy, niezależnie od jej rozmiaru:
int[] source = {1, 2, 3};
int[] destination = new int[6];
Array.Copy(source, 0, destination, 3, source.Length);
// destination będzie mieć wartości {0, 0, 0, 1, 2, 3}Aby umieścić jedną tablicę za drugą, skopiuj drugą tablicę w miejsce, w którym kończy się pierwsza. To miejsce to Length pierwszej tablicy:
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 będzie zawierać {1, 2, 7, 8, 9}Gdy obie tablice zaczynają się od indeksu 0, można użyć krótszej formy: Array.Copy(source, destination, length):
int[] source = {4, 5, 6, 7};
int[] destination = new int[3];
Array.Copy(source, destination, 3);
// destination będzie zawierać {4, 5, 6}Wyzwanie
ŁatwyUtwórz metodę o nazwie AddToEnd, która przyjmuje tablicę ciągów znaków i ciąg znaków item. Zwraca nową tablicę zawierającą wszystkie elementy tablicy w tej samej kolejności, z dodanym na końcu elementem item.
Na przykład AddToEnd(new string[] {"a", "b", "c"}, "d") zwraca ["a", "b", "c", "d"].
Użyj Array.Copy(), aby skopiować elementy do nowej tablicy.
Format danych wejściowych (2 wiersze):
- Wiersz 1: elementy tablicy oddzielone przecinkami (np.
a,b,c) - Wiersz 2: element do dodania (np.
d)
Format danych wyjściowych: elementy nowej tablicy oddzielone przecinkiem i spacją (np. a, b, c, d)
Spróbuj swoich sił
using System;
public class Program {
public static string[] AddToEnd(string[] arr, string item) {
// Napisz tutaj kod
}
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));
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczne7Podstawowe wejście i wyjście
Podstawowe wyjścieInterpolacja ciągów znakówOdczytywanie danych wejściowychParsowaniePowtórka — do 120Powtórka — prawda czy fałsz5Operatory część 2
Operatory porównaniaOperatory logiczne część 1Operatory logiczne część 2Powtórka — prosta logikaOperatory logiczne część 36Podejmowanie decyzji
Instrukcja ifIf - ElseInstrukcja switchOperator trójargumentowyPowtórzenie - If ElseZagnieżdżone If - Else9Pętle
Pętla forPętla whilePętla do whileInstrukcja breakInstrukcja continueZagnieżdżona pętlaNieskończona pętlaPowtórzenie – dynamiczne dane wejściowe12Operacje na ciągach znaków
Metody ciągów znaków – część 1Metody ciągów znaków – część 2Formatowanie ciągów znakówPoćwicz samodzielnie: Kompilator C# online