Menu
CoddyTech

Dizileri Kopyalama

Coddy'nin C# Journey'sinin Temeller bölümünün bir parçası. Ders 58 / 70.

Öğeleri bir diziden diğerine kopyalamak için Array.Copy kullan. Beş bağımsız değişken alır:

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

source içinden sourceIndex konumundan başlayarak length öğe alır ve bunları destination içine destinationIndex konumundan başlayarak yazar. Hedef dizi önceden oluşturulmuş ve yeterince büyük olmalıdır.

Son argüman bir sayıdır: nerede durulacağını değil, kaç öğenin kopyalanacağını belirtir.

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

destinationIndex, kopyalanan ilk öğenin yerleştiği konumdur. Sayı olarak source.Length kullanıldığında, boyutu ne olursa olsun dizinin tamamı kopyalanır:

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

Bir diziyi diğerinin arkasına eklemek için ikinci diziyi, birincinin bittiği konuma kopyalayın. Bu konum, ilk dizinin Length değeridir:

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, {1, 2, 7, 8, 9} olacak

Her iki dizi de 0 indeksinden başlıyorsa, daha kısa bir biçim vardır: Array.Copy(source, destination, length):

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

Görev

Kolay

AddToEnd adlı, bir dizge dizisi ve item dizgesi alan bir metot oluştur. Dizinin her öğesini aynı sırayla içeren ve sonuna item eklenmiş yeni bir dizi döndürür.

Örneğin, AddToEnd(new string[] {"a", "b", "c"}, "d") ["a", "b", "c", "d"] döndürür.

Öğeleri yeni diziye kopyalamak için Array.Copy() kullan.

Girdi biçimi (2 satır):

  • 1. satır: virgüllerle ayrılmış dizi öğeleri (ör. a,b,c)
  • 2. satır: eklenecek öğe (ör. d)

Çıktı biçimi: yeni dizinin öğeleri virgül ve boşlukla ayrılır (ör. a, b, c, d)

Kendin dene

using System;

public class Program {
    public static string[] AddToEnd(string[] arr, string item) {
        // Kodu buraya yazın
    }

    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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online C# derleyicisi